2

据我了解,Many to Many两个实体AB之间的关联意味着AB中可以有多个值,而B在A中可以有多个值。

如果这是正确的,那是什么unidirectional many to many association意思?它与 有何不同bidirectional many to many mapping

顾名思义many to many就是双向的!

4

2 回答 2

4

我认为您对数据库表及其相应的实体感到困惑。

从数据库的角度来看:多对多将使用第三个表来实现,该表包含两个表中的条目。

从 java 实体的角度来看:它取决于您,如果您希望它是双向的或单向的。它简单的意思是,您可以在 Module 中拥有一个学生集合,但您可能不想关心学生属于多少个 Modules。

class Student{
//attributes and methods
}

class Module{

Collection<Student>  students;

//other attributes and methods.

}

现在,在管理某个机构时,我希望能够灵活地创建模块并将学生分配到该模块。我更喜欢多对多单向。所以,如果你看到,这里实际上有很多模块和很多学生(我希望你能明白我的意思)。话虽如此,您并不局限于确定学生是否属于 Java 模块。我希望它让它更清楚一点。

于 2013-06-26T17:46:57.193 回答
2

单向意味着,例如,A有对Bs 的引用,但不是相反。

many to many 表示双向 No。该many to many概念用于数据库表映射。Hibernate 使用它(和其他x-to-x)来生成正确的数据库表模式。这个x-directional概念适用于 java 对象。

于 2013-06-26T17:41:33.667 回答