据我了解,2个实体 A 和 B 之间的Many to Many
关联意味着 A 可以有多个 B 和 B 中的值在 A 中可以有多个值。
如果这是正确的unidirectional many to many association
是什么意思?它与bidirectional many to many mapping
有什么不同?
顾名思义many to many
表示双向!
答案 0 :(得分:4)
我认为你对数据库表及其相应的实体感到困惑。
从数据库的角度来看:使用第三个表来实现多对多,它保存两个表中的条目。
从java实体的角度来看:如果你想要它是双向的或单向的,它可以由你决定。简单的意思是,你可以拥有一个模块学生的集合,但你可能不想关心学生所属的模块数量。
class Student{
//attributes and methods
}
class Module{
Collection<Student> students;
//other attributes and methods.
}
现在,在管理某个机构时,我希望能够灵活地创建模块并将学生分配到这个模块。我更喜欢许多单向的。所以,实际上如果你看到,有许多模块以及许多学生(我希望你能弄明白我的意思)。话虽如此,您不必限制查看学生是否属于Java模块。我希望它能让它变得更加清晰。
答案 1 :(得分:2)
单向意味着,例如A
引用B
,但不是相反。
多对多意味着双向 否。 many to many
概念用于数据库表映射。 Hibernate使用它(和其他x-to-x
)来生成正确的数据库表模式。 x-directional
概念适用于java对象。