首页 > 代码库 > 蜗牛—Hibernate之实体关系配置

蜗牛—Hibernate之实体关系配置

Hibernate框架很好用,初识的感觉就是,在你配置好的情况下,它可以自动帮你封装实体,也可以自动在你指定的实体内封装另一个实体

下面就来稍微研究一下(以下的字段都必须有set/get方法)

首先看一下我的主要实体类Employee Employee与Department的关系为many-to-one

Employee的hbm.xml配置文件如下-----

第一行:name代表的是上图中那个department字段,class不言而喻

第三行:column指的是Employee表中对应的列名

我们拿Department类来写,Employee对应一个Department,而Department对应多个Employee

Department实体类,所以要写Set<Employee> empSet字段

Department.hbm.xml

第二行:empSet对应是此实体的字段值

第五行:对应的是外键的列名

第七行:对应的是多方的实体

-----------------------------------------------------------

一对一关系Employee和Check_Card(员工卡)

Check_Card.java

在Employee.hbm.xml添加如下

而在Check_Card.hbm.xml添加如下------------多对一是一对一的特例

------------------------------------------------------------------------------------------

自连接,接下来拿Department实体做例子,因为部门有若干个子部门,和一个上级部门-----Department实体类在上面

下面就来看看它的hbm.xml文件,代码跟之前的一样。这就不多说了。。

接下来,就说一说上面的  fetch和lazy 上面写的都是默认值

fetch抓取策略分为 select和join

join-----在你得到一个实体后,与之相关的数据会一起通通封装进去

lazy-----只有fetch为select的情况下,才可以使用lazy,在你用不到相关数据时,暂时不会给你抓取