Hibernate4实战之Hibernate4注解零配置_第1页
Hibernate4实战之Hibernate4注解零配置_第2页
Hibernate4实战之Hibernate4注解零配置_第3页
Hibernate4实战之Hibernate4注解零配置_第4页
Hibernate4实战之Hibernate4注解零配置_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持 .Hibernate4 实战之 Hibernate4 注解零配置Entity ,注册在类头上,将一个类声明为一个实体bean(即一个持久化POJO 类 ) 。Table,注册在类头上,注解声明了该实体bean 映射指定的表(table)。Id 用来注册主属性,GeneratedValue 用来注册主属性的生成策略,Column 用来注册属性,Version 用来注册乐观锁,Transient 用来注册不是属性。以上的 Id、GeneratedValue、Column 、Version ,可以用来注册属性,既可以写在Java 类

2、的属性上,也可以注册在属性对应的getter 上。Transient 注册在多余的属性或多余的getter 上,但是必须与以上的Column 等对应。Column标识属性对应的字段,示例:Column(name=“userName)Column (name=columnName ;( 1)boolean unique() defaultfalse;( 2)boolean nullable() default true ;(3)boolean insertable() default true ;( 4)boolean updatable() default true ;( 5)String c

3、olumnDefinition()default ;(6)String table() default ;( 7)intlength() default 255;( 8)intprecision() default 0; / decimal precision (9)intscale() default 0; / decimal scale(10)name 可选 ,列名 (默认值是属性名 )unique 可选 ,是否在该列上设置唯一约束 (默认值 false)nullable 可选 ,是否设置该列的值可以为空 (默认值 false)(4) insertable 可选 ,该列是否作为生成的ins

4、ert 语句中的一个列(默认值 true)(5) updatable 可选 ,该列是否作为生成的update 语句中的一个列(默认值 true)(6) columnDefinition可选 : 为这个特定列覆盖SQL DDL 片段(这可能导致无法在不同数据库间移植)table 可选 ,定义对应的表 (默认为主表 )length 可选 ,列长度 (默认值 255)(8) precision可选 ,列十进制精度(decimal precision)( 默认值 0)scale 可选 ,如果列十进制数值范围 (decimal scale) 可用 ,在此设置 (默认值 0) Id,标识这个属性是实体类的

5、唯一识别的值。注意:这个注解只能标注单一列构成的主键,如tbl_grade 那种有两个字段组成的联合主键由其他注解标识。回忆:Id,只是标识这个属性是主键, 但是并没有指出其生成策略, 如上例中的 assigned 就是由程序员指定的生成策略。如果仅仅写出 Id ,即是使用assigned 生成略,如:1文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持 .IdColumnprivateint uuid;如果想使用Oracle 支持的 sequence 取主键,必须通过GeneratedValue 来指定生成策略,而由SequenceGenerator 指定如何使用sequen

6、ce。IdColumnGeneratedValue(strategy = GenerationType.SEQUENCE, /使用 sequence生成主键generator =“ generator/引“用下面名为gernator 的生成策略)SequenceGenerator(name = “ generator/ 定”,义名为generator 的生成策略allocationSize = 1, / 每次 sequence加 1name=“ seq_a/”引用名为seq_a 的 sequence)privateint uuid;Version标识这个属性用来映射乐观锁的versionTra

7、nsient标识这个属性不用持久化Embeddable 【小对象的头上】标识实体中可以定义一个嵌入式组件 (embedded component)。组件类必须在类一级定义 Embeddable 注解。Embedded 【大对象的属性头上】引用定义的小对象。Embeddable 【小对象的头上】标识实体中可以定义一个嵌入式组件(embedded component)。组件类必须在类一级定义Embeddable注解。注意:如果这个小对象作为复合主键,一定要实现Serializable 接口。这并不是注解决定的,而是Hibernate 的主键都需要实现Serializable 接口。Embedded

8、Id【大对象的属性头上】引用定义的小对象作为主键。注意:不需要再使用Id 注解。2文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持 .标准的 1:13文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持 .XML的配置主 1【 tbl_product 】:从 1【 tbl_product_info 】:product【引用自己的Java 属性名】注解的配置主 1【 tbl_product 】:OneToOne(cascade=CascadeType.ALL)PrimaryKeyJoinColumnprivate ProductInfoModel info;从 1

9、【 tbl_product_info 】:IdColumnGeneratedValue(generator=“ copy【引用生成策略】)GenericGenerator(name= “ copy【定义生成策略】” ,strategy=“ foreign【写死,使用外来策略】 ”,parameters=Parameter(name=“property ”,value= “product【引用自己的Java 属性】 )privateint uuid;OneToOne(mappedBy= “ info【引用对方的Java 属性】 )private ProductModel product;标准的

10、1:MXML的配置1【 tbl_parent】:多【 tbl_child 】: 注解的配置1【 tbl_parent】:OneToManyJoinColumn (name=puuid 【对方的数据库外键列名】 ) private Set children = new HashSet();4文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持 .多【 tbl_child 】:ManyToOneJoinColumn (name=puuid 【自己的数据库外键列名】)private ParentModel parent;标准的 1:MXML的配置 注解的配置ManyToManyJoin

11、Table (name=“ tbl_grade【联接表】 ,joinColumns= JoinColumn (name=suuid 【联接表里代表自己的数据库字段名】),inverseJoinColumns= JoinColumn (name=cuuid 【联接表里代表对方的数据库字段名】”)private Set courses = new HashSet();标准的 1:M5文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持 .XML的配置主 1【 tbl_product 】:从 1【 tbl_product_info 】:注解的配置主 1【 tbl_product 】:O

12、neToOne(cascade=CascadeType.ALL,mappedBy=“ product【对方的 Java 类属性名】 )private ProductInfoModel info;从 1【 tbl_product_info 】:OneToOneJoinColumn (name= “ puuid【自己的数据库外键列名】)private ProductModel product;标准的 1:MXML的配置1【 tbl_parent】:6文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持 .注解的配置1【 tbl_parent】:OneToMany (mappedBy=

13、 parent【对方的 Java类属性名 】 ) private Set children = new HashSet();多【 tbl_child 】:ManyToOneJoinTable (name=“ tbl_parent_child【联接表】 ,joinColumns= JoinColumn (name=cuuid 【联接表里代表自己的数据库字段名】),inverseJoinColumns= JoinColumn (name=puuid 【联接表里代表对方的数据库字段名】)private ParentModel parent;标准的 1:MXML的配置1【 tbl_product 】:注解的配置1【 tbl_product 】

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论