hibernate映射学习

本文深入探讨了Hibernate中不同类型的对象关系映射,包括多对一、一对一同向及双向主键映射,以及多对一单向和双向外键映射的具体配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近温故了一下hibernate的映射,映射也就是OR中的o即对象之间的关系转换为r为关系型数据库,总结如下,也许有我理解不正确的地方:

多对一:比如多个user对应一个group,在多的一端的hbm配置需设置<many-to-one>在pojo中需定义私有的group并实现其set和get方法。在db中需要设置user的外键为groupid。其中如果没有设置many-to-one的cascade需先save group到peisistent状态,而不能是tranisent状态。但是如果设置了cascade 为all、save update等时,在保存user的时候会自动save group

one-to-one:(示例采用person(人) idcard(身份证))

1、单向主键one-to-one:person hbm中的主键生成方式为foreign,并设置其param,具体设置可以看hibernate源代码,这个默认实现了cascade,加上<one -to-one>

2、双向主键one-to-one:在单向主键one-to-one的基础上idcard hbm中加入<one -to-one>

3.单向外键many-to-one:和之前的many-to-one没啥区别,只是多了一个unique="true"

4双向外键many-to-one:idcard hbm中many-to-one指定column 为person外键
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值