如何进行Hibernate的分层映射?
例如: 分类
id parent_id name
1 0 Root
2 1 Sub-root 1
3 1 Sub-root 2
4 2 Sub-(sub-root 1)
是否可以为此类Category
对象进行延迟映射?
答案 0 :(得分:2)
目前还不清楚你在问什么。
然而,您似乎在谈论自引用关系而不是继承,因此您可以如下映射。默认提取策略应与任何其他@OneToMany
相同,即LAZY。
@Entity
public class Category{
@Id
private Long id;
@ManyToOne
@JoinColumn(name = "parent_id")
private Category parent;
@OneToMany(mappedBy = "parent")
private Set<Category> subCategories;
}
答案 1 :(得分:1)
我相信你想问一下实体的继承。我建议使用JPA继承策略。有3个可用。
不同的策略有不同的优点和缺点。您可以根据需要选择。