【发布时间】:2019-08-19 08:52:40
【问题描述】:
我正在尝试为企业实体建模,其中所述企业可以有多个父企业和多个子企业。我不确定哪些关系是合适的,甚至什么映射是合适的。我熟悉 SQL,但对 Java 中的 ORM 很陌生。
我的想法是,企业可以有很多孩子,也可以没有孩子,企业可以有很多父母,也可以没有父母。因此我尝试设置为 OneToMany 也设置为 OneToMany,都导致了这个错误:Illegal use of mappedBy on both sides of the relationship.
实现:
@Entity
public class Business{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "parentOrgs")
private Collection<Business> chlidOrgs;
@OneToMany(mappedBy = "chlidOrgs")
private Collection<Business> parentOrgs;
// --- Getters and setters below ---
我在这里不明白什么?非常感谢任何和所有帮助。
【问题讨论】:
-
您需要
@ManyToMany关系和一个包含它们的中间表。您的方案未描述@OneToMany映射。 -
@JoinTable 可以工作吗?
标签: java hibernate jpa orm hierarchy