Hibernate对象关系是一对多好还是多对一好??为什么??
2个回答
展开全部
一对多 和多对一 一般是看需求来确定的,很多时候都是设置成双向的
举个最最普通的离子 :
一个班级里面有多个学生 多个学生属于一个班级 从学生表来看 就是多对一的关系 从班级表来看就是一对多的关系 需求上如果说是从学生表想看到班级 那么就设置成多对一的关系 如果想从班级看到学生 就设置成一对多的关系 有的时候为了通用性 可以设置成多对一双向关联 关系一般有多的一端来维护 这样可以提高效率
为什么能提高效率呢 我举个比较容易理解的例子
就像楼上所说的那样,班里来了一个新老师 如果是多对一双向,是老师记住所有同学简单?还是每个同学记住老师简单?很明显 一个同学记住老师要简单的多 维护起来也方便 因此尽量不要让一的一方来维护关系 关系要反转给多的一方来维护
举个最最普通的离子 :
一个班级里面有多个学生 多个学生属于一个班级 从学生表来看 就是多对一的关系 从班级表来看就是一对多的关系 需求上如果说是从学生表想看到班级 那么就设置成多对一的关系 如果想从班级看到学生 就设置成一对多的关系 有的时候为了通用性 可以设置成多对一双向关联 关系一般有多的一端来维护 这样可以提高效率
为什么能提高效率呢 我举个比较容易理解的例子
就像楼上所说的那样,班里来了一个新老师 如果是多对一双向,是老师记住所有同学简单?还是每个同学记住老师简单?很明显 一个同学记住老师要简单的多 维护起来也方便 因此尽量不要让一的一方来维护关系 关系要反转给多的一方来维护
展开全部
比较是需要有前提的,在某一个前提下比较好坏才有意义。例如,如果从对数据库操性能角度看的话,多对一好一些,一对多差一些。例如更新操作,一对多意味着要操作很多数据,而多对一不需要。
举个例子,例如你的老师要管理一个班的学生,如果遇到有事情要通知大家的话,是老师给每一个学生打电话好呢,还是每个学生给老师打电话好问问有什么事情好呢。如果从老师角度的话,那么损失性能就比较多,如果从学生到老师就会好一些。这个在Hibernate中通过inverse属性来体现的。
举个例子,例如你的老师要管理一个班的学生,如果遇到有事情要通知大家的话,是老师给每一个学生打电话好呢,还是每个学生给老师打电话好问问有什么事情好呢。如果从老师角度的话,那么损失性能就比较多,如果从学生到老师就会好一些。这个在Hibernate中通过inverse属性来体现的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询