hibernate多表关系

一对一主键:单向和双向

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

(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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容