社区
Web 开发
帖子详情
hibernate中 one-to-many 、many-to-one、many-to-many 在什么情况下用?
adan-阿丹
2010-10-22 12:41:03
hibernate中 one-to-many 、many-to-one、many-to-many 在什么情况下用?
...全文
293
12
打赏
收藏
hibernate中 one-to-many 、many-to-one、many-to-many 在什么情况下用?
hibernate中 one-to-many 、many-to-one、many-to-many 在什么情况下用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tuoxie119
2010-10-24
打赏
举报
回复
[Quote=引用 1 楼 wcc3672018 的回复:]
对象之间在是什么样的一个关系,在数据库中又有什么样的关系。
在表达这些关系的时候就需要使用这些了
one-to-many:一对多的关系
例如:一个人可以有N个房产证,一个房产证只会属于一个人。
数据库里面,人是一张表,房产证是一张表,那么这两个表就是一对多的关系。反过来就是manytoone
many-to-many:多对多的关系
例如:一个老师教N个学生,而一个学生有N个老师。
在……
[/Quote]
基本上就是数据库里的一对多,多对多关心的反应,两个po都要有xml配置文件,所以一个一对多关心,在两个配置文件中(主表和子表),是one-to-many和many-to-one
sdfsf双方各
2010-10-24
打赏
举报
回复
看看。。。。。。。。。。
shadow55
2010-10-23
打赏
举报
回复
做表关联的时候
jumpheightway
2010-10-23
打赏
举报
回复
当一方出现必然会出现另一方的时候就可以用
也可以不用
狂想者
2010-10-23
打赏
举报
回复
同上。。。。。。。。。
tang871015
2010-10-22
打赏
举报
回复
对象之间在是什么样的一个关系,在数据库中又有什么样的关系。
在表达这些关系的时候就需要使用这些了
one-to-many:一对多的关系
例如:一个人可以有N个房产证,一个房产证只会属于一个人。
数据库里面,人是一张表,房产证是一张表,那么这两个表就是一对多的关系。反过来就是manytoone
many-to-many:多对多的关系
例如:一个老师教N个学生,而一个学生有N个老师。
在数据库里面,老师是一张表,学生是一张表,通常会建立中间的关系表,把两个表的主键放在中间表做联合主键来表达多对多的关系。
yjflinchong
2010-10-22
打赏
举报
回复
用来映射关系的。
无伤
2010-10-22
打赏
举报
回复
[Quote=引用 1 楼 wcc3672018 的回复:]
对象之间在是什么样的一个关系,在数据库中又有什么样的关系。
在表达这些关系的时候就需要使用这些了
one-to-many:一对多的关系
例如:一个人可以有N个房产证,一个房产证只会属于一个人。
数据库里面,人是一张表,房产证是一张表,那么这两个表就是一对多的关系。反过来就是manytoone
many-to-many:多对多的关系
例如:一个老师教N个学生,而一个学生有N个老师。
……
[/Quote]
这个例子很好, 楼主可以找hibernate的书看一下。
luoye_teng
2010-10-22
打赏
举报
回复
many-to-many:多对多的关系
one-to-many:一对多的关系
many-to-one:多对一
这个在hibernate里,映射的时候,只要看是否需要映射配置文件,将你数据库里的表的关系映射出来。
楼上已经举例子了。
我一般用都是会选择将表的所有关系都映射到配到文件,
那样在后续做一些特殊的查询功能里,用hql语句会很方便,
就是选多对多。只要数据库的表与表之间有关系的我通通的映射出来。
后面的写hql语句的一些链接什么的。通通可以通过对象点出来。
比如说,
两个表的引用关系,A表引用B表,映射出来的实体A中会有B的对象。
到时候做查询就不用自己在写表的链接,直接通过,A实体里B的对象点出B实体里的变量。
blazingfire
2010-10-22
打赏
举报
回复
many-to-many,用得我不多,没把握。
many-to-one一般在程序中表现为子表对象里存储一个主表对象
blazingfire
2010-10-22
打赏
举报
回复
one-to-manay和manay-to-one都是主从表关系在hibernate中的描述,在java中,就是一个对象包含多个子对象,一般的子对象用list集合表示
wcc3672018
2010-10-22
打赏
举报
回复
对象之间在是什么样的一个关系,在数据库中又有什么样的关系。
在表达这些关系的时候就需要使用这些了
one-to-many:一对多的关系
例如:一个人可以有N个房产证,一个房产证只会属于一个人。
数据库里面,人是一张表,房产证是一张表,那么这两个表就是一对多的关系。反过来就是manytoone
many-to-many:多对多的关系
例如:一个老师教N个学生,而一个学生有N个老师。
在数据库里面,老师是一张表,学生是一张表,通常会建立中间的关系表,把两个表的主键放在中间表做联合主键来表达多对多的关系。
使用
hibernate
时发现one-to-one与many-to-one的默认不是懒加载
本文探讨了
Hibernate
5在处理one-to-one及many-to-one关联时的加载策略问题。默认
情况
下,
Hibernate
遵循JPA规范,将这些关联设置为急切加载,这与
Hibernate
自身的推荐策略存在差异。文章深入解析了这一冲突背后的原因,并解释了
Hibernate
作为JPA提供者如何调整以保持一致性。
Hibernate
延迟加载 或 no session or session was closed 问题的解决(OpenSessionInViewFilter使用)
本文介绍了解决
Hibernate
在配置many-to-one或one-to-many时出现的nosessionorsessionwasclosed问题的方法。通过设置lazy属性为true并启用OpenSessionInViewFilter过滤器,在不牺牲性能的
情况
下实现了延迟加载。
使用
Hibernate
来看看
本文介绍了一系列针对
Hibernate
框架的优化措施,包括但不限于推荐使用many-to-one映射而非one-to-many,建议在一对多的
情况
下采用Bag而非Set进行集合管理,在多对一的
情况
下则推荐使用Set。此外,文章还探讨了如何通过配置对象缓存来提升性能,以及如何利用二级缓存减少对大型数据表的操作。
hibernate
多对一应注意的问题
本文介绍了
Hibernate
中
Many-to-One映射的基本概念,并强调了默认
情况
下使用主键进行映射的特点。此外,还说明了如何通过property-ref属性指定外键来避免NullPointerException异常。
Hibernate
中
outer-join、lazy 、fetch join关键字的使用
本文深入探讨
Hibernate
中
的outer-join关键字及其应用,包括many-to-one、集合关联
情况
下的使用技巧,HQL查询
中
如何利用fetch join进行优化,以及join与join fetch的区别等。
Web 开发
81,111
社区成员
341,726
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章