【Hibernate】框架之注解的配置
Hibernate框架之注解的配置
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式以后,发现使用annotation的方式可以更简介,所以这里就简单记录下通过annotation来配置各种映射关系,在hibernate4以后已经将annotation的jar包集成进来了,如果使用hibernate3的版本就需要引入annotation的jar包。
配置持久化类常用的注解:
注:GeneratedValue指定了标识符的生成策略。jpa提供了4种标准用法。
01.AUTO:根据不同的数据库选择不同的策略
02.TABLE:使用表保存id值
03.INDENITY:使用数据库自动生成主键
04.SEQUENCE:使用序列创建主键(如Oracle)
配置关联关系常用的注解:
话不多说了,待大家来看看到底怎么用的才最重要
1.注解配置对象关联关系之 一对一(学生对学生证)
Student.java
StuCard.java
最后只需要在hibernate.cfg.xml文件里面将该实体类加进去即可:
<!-- 注解配置 -->
<mapping class="cn.zhang.entity.Student"/>
<mapping class="cn.zhang.entity.StuCard"/>
测试:
2.注解配置对象关联关系之 多对一(部门和员工)
Dept.java
Emp.java
最后只需要在hibernate.cfg.xml文件里面将该实体类加进去即可:
<!-- 注解配置 -->
<mapping class="cn.zhang.entity.Dept"/>
<mapping class="cn.zhang.entity.Emp"/>
测试:
3.注解配置对象关联关系之 多对多(项目和员工)
Emp.java
Project.java
最后只需要在hibernate.cfg.xml文件里面将该实体类加进去即可:
<!-- 注解配置 -->
<mapping class="cn.zhang.entity.Project"/>
<mapping class="cn.zhang.entity.Emp"/>
测试:
注意:在判断到底是谁维护关联关系时,可以通过查看外键,哪个实体类定义了外键,哪个类就负责维护关联关系。