正如我在对您的答案的评论中提到的那样,我不是 100% 清楚,但我猜您有四种不同的多对多关系:
- 克雷诺教授
- 萨勒克雷诺
- 克雷诺集团
- 库尔斯克雷诺
如果是这样,那么你的猜测是正确的。实现它的最好方法是建立四个独立的多对多关系。这意味着您将有四个连接表(每个关系一个,每个有两列;一个外键用于 creneau,一个外键用于关系中的另一个表)。
在 Hibernate 中,您将分别指定所有这些映射。
您的 DAO 类可能类似于:
public class Prof {
private Set<Creneau> creneaus = ...;
}
public class Salle {
private Set<Creneau> creneaus = ...;
}
public class Groupe {
private Set<Creneau> creneaus = ...;
}
public class Cours {
private Set<Creneau> creneaus = ...;
}
public class Creneau {
private Set<Prof> profs = ...;
private Set<Salle> salles = ...;
private Set<Groupe> groupes = ...;
private Set<Cours> courss = ...;
}
它可能看起来是重复的,但这里确实有四个独立的关系。