一尘不染

具有相同类的父子的JPA映射

hibernate

我有下表:

FOLDER[
    id int,
    name varchar2(10),
    parent_folder_id int
]

我想让Folder类具有父子关系。


阅读 342

收藏
2020-06-20

共1个答案

一尘不染

我相信正确的映射将是:

@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方法。

2020-06-20