文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Entity怎么用

2023-06-26 06:59

关注

这篇文章主要介绍了Entity怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Entity怎么用文章都会有所收获,下面我们一起来看看吧。

Entity是基于JPA规范。更详细的技术细节请参考JPA或Hibernate文档。

配置文件

com.jspxcms.plug.ContextConfig的@EntityScan({ "com.jspxcms.plug.domain" })会自动扫描该包下含有@Entity注解的类。

数据库表

不使用主键自增策略,而是使用JPA的TABLE主键生成策略,将主键放到数据库中的一个表里,这个表在Hibernate里默认为Hibernate_sequences。所以在建表的时候不要使用主键自增。

create table plug_resume(   f_resume_id          int not null,   f_site_id            int not null,   f_name               varchar(100) not null comment '姓名',   f_post               varchar(100) not null comment '应聘职位',   f_creation_date      datetime not null comment '投递日期',   f_gender             char(1) not null default 'M' comment '性别',   f_birth_date         datetime comment '出生日期',   f_mobile             varchar(100) comment '手机',   f_email              varchar(100) comment '邮箱',   f_expected_salary    int comment '期望薪水',   f_education_experience longtext comment '教育经历',   f_work_experience    longtext comment '工作经历',   f_remark             longtext comment '备注',   primary key (f_resume_id))engine = innodb;alter table plug_resume comment '简历表';alter table plug_resume add constraint fk_plug_resume_site foreign key (f_site_id)      references cms_site (f_site_id) on delete restrict on update restrict;

实体类

使用JPA的TABLE主键生成策略。

需注意以下三个值:name = "tg_plug_resume", pkColumnValue = "plug_resume" generator = "tg_plug_resume",其中plug_resume为表名,如果表名为abc,则这三个值分别为name = "tg_abc", pkColumnValue = "abc" generator = "tg_abc"。

initialValue = 1代表主键从1开始。allocationSize = 10代表hibernate一次获取10个主键值,如果没有用完系统就重启了,那么在数据库中会出现主键不连续的情况。但由于获取主键值要查询并修改数据库,对于频繁插入数据的表来说,是一个很大的开销,所以可以根据情况适当调整这个值。

如果使用MySQL的主键自增,除了在表主键里增加主键自增属性,在Entity里的ID注解也要改为@GeneratedValue( generation = IDENTITY )或@GeneratedValue( generation = AUTO )。

package com.jspxcms.plug.domain;@Entity@Table(name = "plug_resume")public class Resume implements java.io.Serializable {    private Integer id;    ……  @Id    @Column(name = "f_resume_id", unique = true, nullable = false)    @TableGenerator(name = "tg_plug_resume", pkColumnValue = "plug_resume", initialValue = 1, allocationSize = 10)    @GeneratedValue(strategy = GenerationType.TABLE, generator = "tg_plug_resume")    public Integer getId() {        return this.id;    }    public void setId(Integer id) {        this.id = id;    }    ……}

关于“Entity怎么用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Entity怎么用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯