让我定义以下实体,例如:
@Entity
public class Box{
@ManyToOne
Apple apple;
@ManyToOne
Orange orange;
}
@Entity
public class Apple {
@OneToMany
List<Box> boxes;
@ManyToMany
List<Orange> OrangeBoxMates;
}
@Entity
public class Orange {
@OneToMany
List<Box> boxes;
@ManyToMany
List<Apple> appleBoxMates;
}
忽略许多注释已被省略的事实。我只是以此代码为例。
现在我想在苹果和橘子之间创建一个额外的单向关系。
@Entity
public class Apple {
@OneToMany
List<Box> boxes;
@ManyToMany
List<Orange> OrangeBoxMates;
@ManyToMany
List<Orange> OrangeFriends;
}
@Entity
public class Orange {
@OneToMany
List<Box> boxes;
@ManyToMany
List<Apple> appleBoxMates;
}
有什么理由我不能这样做吗?
答案 0 :(得分:0)
我怀疑Hibernate可以区分@ManyToMany
中Apple
的两个Apple
关联,因为您使用的是默认连接列,对于这两个关联,它们都是相同的。我想您可以自定义Orange
与{{1}}的关联,以便将它们映射到数据库中的不同列(不同的FK)。