欢迎来到天天文库
浏览记录
ID:34100362
大小:122.95 KB
页数:8页
时间:2019-03-03
《hibernate4实战之hibernate4注解零配置》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、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() default false; (2)boolean nullable() default true;
3、 (3)boolean insertable() default true; (4)boolean updatable() default true; (5)String columnDefinition() default ""; (6)String table() default ""; (7)int length() default 255; (8
4、)int precision() default 0; // decimal precision (9)int scale() default 0; // decimal scale (10)(1)name可选,列名(默认值是属性名)(2)unique可选,是否在该列上设置唯一约束(默认值false)(3)nullable可选,是否设置该列的值可以为空(默认值false)(4)insertable可选,该列是否作为生成的insert语句中的一个列(默认值true)(5)updatable可选,该列是否作为生成
5、的update语句中的一个列(默认值true)(6)columnDefinition可选:为这个特定列覆盖SQLDDL片段(这可能导致无法在不同数据库间移植)(7)table可选,定义对应的表(默认为主表)(8)length可选,列长度(默认值255)(8)precision可选,列十进制精度(decimalprecision)(默认值0)(10)scale可选,如果列十进制数值范围(decimalscale)可用,在此设置(默认值0)@Id,标识这个属性是实体类的唯一识别的值。注意:这个注解只能标注单一列构成的主键,如tbl_gr
6、ade那种有两个字段组成的联合主键由其他注解标识。回忆*.hbm.xml:@Id,只是标识这个属性是主键,但是并没有指出其生成策略,如上例中的assigned就是由程序员指定的生成策略。如果仅仅写出@Id,即是使用assigned生成略,如:@Id@Columnprivate int uuid;如果想使用Oracle支持的sequence取主键,必须通过@GeneratedValue来指定生成策略,而由@SequenceGenerat
7、or指定如何使用sequence。@Id@Column@GeneratedValue(strategy = GenerationType.SEQUENCE,//使用sequence生成主键generator =“generator“//引用下面名为gernator的生成策略)@SequenceGenerator(name = “generator”,//定义名为generator的生成策略allocationSize = 1,//每次sequence加1name=“seq_a”//引用名为seq_a的sequence)private
8、 int uuid;@Version标识这个属性用来映射乐观锁的version@Transient标识这个属性不用持久化@Embeddable【小对象的头上】标识实体中可以定义一个嵌入式组件(embeddedcomponent)。组件
此文档下载收益归作者所有