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 在什么情况下用?
...全文
177 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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个老师。
在数据库里面,老师是一张表,学生是一张表,通常会建立中间的关系表,把两个表的主键放在中间表做联合主键来表达多对多的关系。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-22 12:41
社区公告
暂无公告