Hibernate注解方式映射

JPA:Java persistence API

JPA注解是JavaEE的标准和规范

JPA是标准接口,Hibernate是实现,优先使用JPA注解。

一:类级别注解

1:@Entity映射实体类

name属性对应数据库中的表(一般不写通过@Table写)

注意:使用@Entity时必须制定实体类的主键属性。

2:@Table映射实体类在数据库中的表

name属性(name=“表名”)表明和实体类名相同时不用写。

3:@Embeddable

表示并非实体类(Entity),不会映射一张表,可以嵌入到另一个实体类(Entity)中作为属性存在。

二:属性级别注解

 1:@Id必须的

定义了映射到数据库表中的主键属性(一个或多个)

注意:多个主键属性的实体类必须实现serializable接口。

2:@GeneratedValue(strategy=   ,generator=    )

定义主键生成策略

strategy主键生成策略,取值有:1)GenerationType.AUTO(根据底层数据库自动选择,默认值)

                                                   2)GenerationType.IDENTITY(根据数据库中的Identity字段生成)

                                                   3)GenerationType.SEQUENCE(使用序列来决定,Oracle和DB2支持但无自动增长类型)

注意:主键为String时,要手动添加主键,不能用JPA的主键生成策略,要通过generator来指定主键生成器,如:

@GeneratedValue(generator= “名”   )

@GenericGenerator(name=“名”,strategy=“assigned”)

3:@Column可将属性映射到列

常用属性:name数据库中字段的名、nullable能否为空、unique该字段是否唯一标识(默认为false)、length长度、

                insertable该字段是否出现在insert语句中,默认true

                updateable...............................update..............................(可设置一些属性一经填写就不能修改,设为false)

4:一对一单项外键

@OneToOne(cascade=CascadeType.ALL)

@JoinColumn(name=“外键”,unique=“true”)

(有外键的一般作为主控方)

注意:保存的时候要先保存外键对象,再保存主表对象

5:一对一双向外键

被控方

@OneToOne(mappedBy=“主控方持有的北控方的实例化对象”)

交给对方来控制

6:多对一

一般多方作为主控方

多方@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)积极地抓取策略

        @JoinColumn(name=“外键”,referencedColumnName=“这个外键在数据库中的名”)

一方基本上差不多不过可以把fetch的值改为LAZY

双向的话:多方不变,一方可以简写@OneToMany(mappedBy=“对方持有的我方的实例化对象”)

注意:写简写时要保证多方的已经进行了映射,双方不能都是简写。

7:多对多

其中一方(主控方):@ManyToMany

                                   @JoinTable(

                                            name=“关联表”

                                            joincolumns=@JoinColumn(name=“关联表中指向自己的外键”)

                                            inverseJoinColumns=@JoinColumn(name=“关联表中指向对方的外键”)

                                     )

被控方:(简写)@ManyToMany(mappedBy=“对方持有的我放的实例化对象”)

阅读更多
文章标签: Hibernate 映射 注解
个人分类: hibernate
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭