用户登录
用户注册

分享至

hibernate menytoone

  • 作者: 用户64538951
  • 来源: 51数据库
  • 2021-01-30
大家不要误导人。

多对一和一对多就是一回事情,哪有那么复杂?!
对于“多”的一方来看,就是多对一;对于“一”的一方来看,就是一对多。
仅仅是同一事物的不同看待角度。
我再多说两句:Hibernate中的所有关系,从本质上来看都是一对多的关系。
一对一是特殊的一对多;
多对多是两个一对多的组合,在实际使用中,通过引入中间表,多对多会被拆分成两个一对多。



  班级和学生,1对多
班级中关联学生的字段写one to many
学生关联到班级的字段写many to one
他们两个是组合使用的,不是说拿来单独用的



  多对一和一对多的区别



  补充jvm7572说明一下..hibernate设置了many to one或者one to many后在你的实体类里面的表现方式是不一样的(具体忘记了.好久没用了)....而且耦合度太高..如果没有特别要求的紧密性质..建议不要用这种关系在hibernate中...多两行简单的代码.你的性能会提高很多..
//------------p.s.
我感觉你压根没明白1对多和多对1在hibernate中的配置关系...1对多和多对1在建立表关系是比如jvm7572学生和班级就的关系是多对1的.就是1个班级中包含了多个学生.反过来就是多个学生在一个班级中.永远都是学生表中含有班级的主键不可能班级表中出现学生的主键..首先说明下1对多和多对1的意义..减少数据冗余..表明实体和实体之间关系.

在说hibernate中配置. 1对多







类中编码
private java.util.list students;
多对1

private studentclass studentclass;
不明白的就在看看书吧.书上说的很明白了...上边的配置和类里面的映射参考吧..是可以互换的.但是看你是操作什么的多了.是操作学生的多,还是操作班级的多..简单操作就乘.数据量大就用jdbc.不要为了简单的编码而忽略了性能.
那么one to many和many to one不就是可以互换了吗?是可以互相转换.但不是可以随便转换的.当且仅当one to many和many to one可以互换时,one to many和many to one没有任何区别.怎么做都可以.
软件
前端设计
程序设计
Java相关