2 u013179958 u013179958 于 2016.03.27 18:30 提问

Hibernate官方推荐使用many-to-many还是many-to-one?

假设实体的关系就是多对多,我应该是在数据库中创建两张表,还是三张表?

如果创建两张表,那么就需要在xml中配置many-to-many

如果创建三张表,那么就需要在第三张的表中存储其余两个表的主键,在xml中直接配置many-to-one

这两种方式那个好?

4个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.27 18:52
已采纳

具体使用哪种应该由你的业务决定的吧,如果是多对一的关系就使用many-to-one例如一个人有多个邮箱地址;多对多关系,例如选课一个人可以选多个课,而一门课程又被多个人选择,双向多对多就用many-to-many。

caozhy
caozhy   Ds   Rxr 2016.03.27 18:56

根据需要,比如说购物就是典型的many-to-many,一个商品可以放入很多订单,很多人买。一个订单可以包含很多种商品。比如说你一个订单买了一个手机一个壳一个耳机。

caozhy
caozhy   Ds   Rxr 2016.03.27 18:56

除了m2m m2o,还有 o2o,有时候我们需要把大表拆开,那么就是o2o。比如用户的头像虽然也属于用户,但是二进制文件我们单独放一个表。

CSDNXIAOS
CSDNXIAOS   2016.03.30 11:27

public class Person {
private Long id;
private String name;
private Depart depart;}

public class Depart {
private Long id;
private String name;
Set person;}

person.cfg.xml  :

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!