hibernate多表关系

2017-08-17  本文已影响0人  海纳百川_4d26

一对一主键:单向和双向

一.  单向一对一主键(一个对象中存在另一个对象的引用,只能从一个对象找另一个对象,不能反过来),两个是独立的对象,及时加了级联也是两个对立的对象,只是一方根据级联的取值看着另一个对象做相应的动作.

(1)建立两个entity,IDCard这个类中有per对象

(2)在entity中建立一个test,调用工具类的方法自动生成xml文件,这里和表还没有关系,表是在持久化中和数据库中的表绑定的,也就是只有在运行持久化的时候才会出现表.

自动生成xml后,这两个对象是没有关系的,

(3)找到idCard.hbm.xml中下面的属性

更改为

加了级联两个对象依旧是独立的两个对象,也就是生成表后是两个独立的表,;但是idCard做增删改,per也做增删改

(4)测试类

二,双向一对一主键(两个对象互相能找到):在上面的例子单向一对一的基础上,直接在per的entity中添加一个对象属性,在xml中添加one to one 属性.

(1)entity中

人找身份证 身份证找人

(2)配置文件中代码

idCard中的代码 per中的代码

一对一外键(两个表绑定到了一起):单向和双向

直接在配置文件中修改

idCard中的代码,现在只有一个表所以lazy没有效果,如果表比较多一定奥设置

idCard外键产生了一个外键

此处是在配置中column没有写所以默认是和name的值一样所以是per,是可以设置的 测试增加代码不能有id 修改的时候一定要有id
上一篇 下一篇

猜你喜欢

热点阅读