当前位置: 首页 > 面试题库 >

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

邹曦之
2023-03-14
问题内容

我有下表:

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

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


问题答案:

我相信正确的映射将是:

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



 类似资料:
  • 我有两个从抽象类继承的类,它们有父子关系。 所以我使用了注释OneToOne和ManyToOne,但是子类中的父实体总是为空。有人能帮我吗,我花了几个小时谷歌和测试了许多conf,但没有成功。 这些是我的类中的代码: ... ... ... 如果我不添加@JoinCol列注释,JPA会创建一个关联表,但无法检索父级,而关联可以直接通过在数据库中请求来完成。 非常感谢你的帮助。 祝好

  • 问题内容: 考虑以下类: 由于多个的声明,in 的声明不应该给出编译错误吗? 问题答案: 阴影 (或 隐藏物 )。 这是合法的Java,但应避免使用。我希望您的IDE可以为您提供警告。 但是请注意,这只是一个问题,因为您已经向世界公开了一个 变量 。如果确保所有变量都是私有变量(将方法的API与字段的实现分开),那么父级和子级都具有相同的字段名就没关系- 子级不会仍然能够看到父母的字段。如果将方法

  • 无法使用下面的行从子类访问方法, 假设我在子类中有一个方法,而父类中没有相同的方法。在这种情况下,我们无法使用上述代码行访问子类方法print()。但是请注意,如果我们在父类中有相同的方法,那么我们可以使用上面的代码访问它。 可能没有这样的现实生活场景,但试图理解为什么我无法访问子类使用类型为父的子对象,如果我们没有在父类中定义相同的方法。 示例代码如下: 更多解释——如果我在父类中定义了方法,那

  • 我一直在将代码从JIT转换到D3,并使用树布局。我已从中复制了代码http://mbostock.github.com/d3/talk/20111018/tree.html使用我的树数据,但我想做更多。 在我的例子中,我想创建子节点,这些子节点合并回一个较低级别的父节点,我意识到这更像是一个有向图结构,但是希望树能够适应这一点(即注意子节点之间的公共id应该合并)。 因此,基本上,一棵树在从父母到

  • 我会从我想达到的目标开始 意图 该软件在for循环中解析XML数据。处理数据的 for 循环将持续到 50(因为我得到了 50 个不同的结果)。我最初所做的是,-方法解析整个XML数据并将其保存到TextViews中并显示它。但现在我想添加一个启动画面,只要数据加载就会显示。 XML文件像任何其他普通XML文件一样构建,因此当我通过for循环时,键总是相同的,但值不同。 方法 我已经做的是创建一个

  • 我有一个用JPA映射的简单类: 我把那门课扩展成了非常简单的课 这正是我对SponsorDefainableBo所需要的。它是Sponsor的副本,并且从与Sponsor相同的表中读取。这是我们通过一些xml文档控制的查询框架所需要的,并且需要成为我正在做的事情的单独对象。需要SponsorDefainableBo插入查询/维护框架以进行我们不想在主父文档中进行的自定义详细信息。当我尝试使用Spo