具有相同类的父子的JPA映射 [英] JPA mapping for Parent-Child with same class

查看:203
本文介绍了具有相同类的父子的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆