全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录- Table ID 和GeneratedValueTableTable用来定义entity主表的name,catalog,schema等属性。属性说明: name:表名 catalog:对应关系数据库中的catalog schema:对应关系数据库中的schema UniqueConstraints:定义一个UniqueConstraint数组,指定需要建唯一约束的列.UniqueConstraint定义在Table或SecondaryTable元数据里,用来指定建表时需要建唯一约束的列。下面是指定2个字段要唯一约束.?12345678Example:EntityTable(name=EMPLOYEE,uniqueConstraints=UniqueConstraint(columnNames=EMP_ID, EMP_NAME)public class Employee . ID 和GeneratedValue通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为Id,其生成规则由GeneratedValue设定的.这里的id和GeneratedValue都是JPA的标准用法,JPA提供四种标准用法,由GeneratedValue的源代码可以明显看出.?123456789Target(METHOD, FIELD)Retention(RUNTIME)public interface GeneratedValue GenerationType strategy() default AUTO;String generator() default ;其中GenerationType:?123456789101112package javax.persistence;public enum GenerationType TABLE,SEQUENCE,IDENTITY,AUTOJPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO. TABLE:使用一个特定的数据库表格来保存主键。 SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。 IDENTITY:主键由数据库自动生成(主要是自动增长型) AUTO:主键由程序控制(也是默认的,在指定主键时,如果不指定主键生成策略,默认为AUTO)?123IdGeneratedValueprivate Long id;四种数据库的支持情况如下:数据库名称支持的id策略mysqlGenerationType.TABLEGenerationType.AUTOGenerationType.IDENTITY不支持GenerationType.SEQUENCEoraclestrategy=GenerationType.AUTOGenerationType.SEQUENCEGenerationType.TABLE不支持GenerationType.IDENTITYpostgreSQLGenerationType.TABLEGenerationType.AUTOGenerationType.IDENTITYGenerationType.SEQUENCE都支持kingbaseGenerationType.TABLEGenerationType.SEQUENCEGenerationType.IDENTITYGenerationType.AUTO都支持GeneratedValue:主键的产生策略,通过strategy属性指定。主键产生策略通过GenerationType来指定。GenerationType是一个枚举,它定义了主键产生策略的类型。1、AUTO自动选择一个最适合底层数据库的主键生成策略。如MySQL会自动对应auto increment。这个是默认选项,即如果只写GeneratedValue,等价于GeneratedValue(strategy=GenerationType.AUTO)。2、IDENTITY表自增长字段,Oracle不支持这种方式。3、SEQUENCE通过序列产生主键,MySQL不支持这种方式。4、TABLE通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。不同的JPA实现商生成的表名是不同的,如 OpenJPA生成openjpa_sequence_table表,Hibernate生成一个hibernate_sequences表,而TopLink则生成sequence表。这些表都具有一个序列名和对应值两个字段,如SEQ_NAME和SEQ_COUNT。在我们的应用中,一般选用GeneratedValue(strategy=GenerationType.AUTO)这种方式,自动选择主键生成策略,以适应不同的数据库移植。如果使用Hibernate对JPA的实现,可以使用Hibernate对主键生成策略的扩展,通过Hibernate的GenericGenerator实现。GenericGenerator(name = system-uuid, strategy = uuid)声明一个策略通用生成器,name为system-uuid,策略strateg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 暖通工程招投标技术标范本解读
- 深度学习技术应用心得体会
- 施工现场安全监督管理办法
- 2025河北邯郸鸡泽县第二批村级班子大学生选聘15人笔试考试备考题库及答案解析
- 2025新余市国信融资担保有限公司招聘3人笔试考试备考题库及答案解析
- 2024年中国石化销售股份有限公司云南石油分公司招聘考试真题
- 2025年11月西南医科大学招聘专职辅导员15人笔试考试备考试题及答案解析
- 八年级英语单词量测试卷
- 电子商务法合规风控实务解析
- 英雄主题班会活动策划与方案
- 4.1 10的认识(课件 )数学苏教版一年级上册(新教材)
- 2026年度安全生产工作计划
- 2025年设备管理试题及答案详解
- 感统培训课件
- 2025年环境工程师招聘笔试模拟题及环保知识要点
- 2025山东泰山财产保险股份有限公司总公司及分支机构校园招聘、社会招聘笔试模拟试题及答案解析
- 剪纸社团教学课件
- 模块盖房基础知识培训课件
- 三年级上册数学听评课记录《倍的认识》人教新课标
- 2025至2030中国DNA提取试剂盒行业项目调研及市场前景预测评估报告
- 半导体销售基础知识培训课件
评论
0/150
提交评论