Hibernate 申明

 

一、JPA表明的牵线

Hibernate Annotation :是选用评释代替XML映射对象关系的新措施
JPA: Java Persistence API
是EJB3.0规范中的一部分,专门讲述怎么着处理持久化的规范

常用方式:

  •  使用JPA的正统声明来做靶子关系映射

  •  使用Hibernate来成功持久化操作。

JPA的诠释定义放置在javax.persistence包中

常用的笺注有:

  •  @Entity

  •  @Table

  •  @Id

  •  @Temporal

  •  @Basic

  •  Column

  •  JPA阐明中开展锁@Version

 图片 1

图片 2a

编排实体测试类:

图片 3

 

二、基于JPA讲明的目标关联映射

  JPA注明中关系映射的应用:

  1、一对多(@OneToMany)

  2、一对一(@OneToOne)

  3、多对多(@ManyToMany)

 

一对多:

 种类Category和成品Product是一对多的关系。产品和类型则是多对一的涉嫌。

先在一端既Category类下安排 一对多的笺注,

图片 4

 

mappedBy表示维护关系的反转,相当于property_ref,维护关系的反转,交给另一端来保安关系。

再来看一下多端:

图片 5

//那里配置关系,并且规定关系维护端和被维护端。mappBy表示关系被维护端,唯有关系端有权去立异外键。这里还有注意OneToMany默认的加载格局是赖加载。当看到设置关系中最终一个单词是Many,那么该加载默许为懒加载  

此地安装JoinColum设置了外键的名字,在此间,Product表示是事关 维护端,Category代表关系被维护端。

一对一:

  2、基于主键的一对一映射:

    不会时不时用,那么些意思是说,五个表中利用相同的主键,使用Hibernate自定义主键生成策略,由@GenericGenerator完成。引用myfor.

图片 6

图片 7

按照外键的一对一则相对不难些

  图片 8

图片 9

  3、多对多:

  我们以Student和Course类为例,学生和科目是多对多的关联 

 

图片 10

 

JoinTable,大家创制了一个中间表,作为五个表之间的关系。配置好Student端后,Course端配置 就很简短了,直接利用@ManyToMany就可以了。

图片 11

 

照耀命名查询

  •  NameQueries

  •  NameQuery**

图片 12

图片 13

 

相关文章