具有相同类的父子的JPA映射 [英] JPA mapping for Parent-Child with same class
本文介绍了具有相同类的父子的JPA映射的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有下表:
FOLDER[
id int,
name varchar2(10),
parent_folder_id int
]
我希望Folder类具有父子关系.
I would like to have Folder class to have parent-child relationship.
推荐答案
我认为正确的映射应为:
I believe the correct mapping would be:
@Entity
public class Folder {
@Id
@Column(name="PK_FOLDER")
private int id;
@Column(name="NAME")
private String name;
@ManyToOne
@JoinColumn(name="FK_PARENT_FOLDER")
public Folder parentFolder;
@OneToMany(mappedBy="parentFolder")
public List<Folder> subFolders = new ArrayList<Folder>();
}
@OneToOne
仅在每个父母最多有一个孩子的情况下才起作用,上面的代码适用于更普遍的情况,即父母可以有多个孩子.另外,为简单起见,我省略了get/set方法.
The @OneToOne
would work only if each parent had at most one child, the above code works for the more general case, when a parent can have many children. Also, I'm omitting get/set methods for simplicity's sake.
这篇关于具有相同类的父子的JPA映射的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文