Hibernate注解

目录

类级别注解
属性级别注解
关系映射级别注解

类级别注解

@Entity
映射实体类
使用Entity必须指定实体类的主键属性,用@Id注解。
@GeneratedValue(strategy = GenerationType.IDENTITY)
自增
@Table

属性级别注解

属性字段上
属性的get访问器上面

@Id
映射到主键属性
如果有多个属性定义为主键属性,该实体类必须实现serializable接口。
如果将String类型设置为主键,是会失败的,因为varchar的默认长度为255,需要将长度改小才能成功作为主键。

@Column
设置字段,@Column(length=8)

@GeneratedValue
可选,用于定义主键生成策略,取值有
GenerationType.Auto:由数据库自动选择(默认),mysql默认为自增。
GenerationType.IDENTITY:根据数据库的Identity字段生成。
GenerationType.SEQUENCE:使用Sequence来决定主键的取。
GenerationType.TABLE:使用指定表来决定主键取值,结合@TableGenerator使用。
@GeneratedValue(strategy = GenerationType.IDENTITY)

@Embeddable
表示一个非Entity类可以嵌入到另一个作为属性而存在。
嵌入类和属性都需要使用该注解。

@EmbeddedId
使用嵌入式主键类实现复合主键。
嵌入式主键类必须实现Serializable接口,必须有默认的public无参数的构造方法,必须覆盖equals和hashCode方法。

@Transient
表示该属性并非一个到数据库表字段的映射。

关系映射级别注解

一对一单向外键

@OneToOne(cascade=CascadeType.ALL)

@JoinColumn(name="pid",unique=true)

一对一双向外键

@OneToOne(mappedBy="外键属性值")//被控方

一对多(多对一)

多对多

文章最后编辑时间为:2017-11-02 15:55:07

标签: 无

声明:本博客如无特殊说明皆为原创,转载请注明来源:Hibernate注解谢谢!

相关文章

发表评论:

icon_question.pngicon_razz.pngicon_sad.pngicon_evil.pngicon_exclaim.pngicon_smile.pngicon_redface.pngicon_biggrin.pngicon_surprised.pngicon_eek.pngicon_confused.pngicon_cool.pngicon_lol.pngicon_mad.pngicon_twisted.pngicon_rolleyes.pngicon_wink.pngicon_idea.pngicon_arrow.pngicon_neutral.pngicon_cry.pngicon_mrgreen.png