我有以下表格:
FOLDER[
id int,
name varchar2(10),
parent_folder_id int
]
我想让Folder类具有父子关系。
答案 0 :(得分:21)
我相信正确的映射是:
@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方法。