java - 使用 Hibernate 映射 Java 类 : How can I map a list of its own objects inside the class

标签 java hibernate jakarta-ee jpa

使用 Hibernate 和 JPA,我想映射一个包含其自身对象列表的类,例如:

public class Category{
     private List<Category> subCategories = new ArrayList<Category>();
}

我正在尝试使用以下方法来做到这一点:

@OneToMany(fetch = FetchType.EAGER, mappedBy = "category")

但是当我尝试这个时,我收到以下错误:

Initial SessionFactory creation failed.org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: my.domain.name.Category.category in my.domain.name.Category.subCategories

最佳答案

试试这个:

public class Category {

    @ManyToOne
    private Category superCategory;

    @OneToMany(mappedBy = "superCategory")
    private List<Category> subCategories = new ArrayList<Category>();
}

您的示例中的问题是您的类中没有这样的属性category

关于java - 使用 Hibernate 映射 Java 类 : How can I map a list of its own objects inside the class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9982023/

相关文章:

java - LocalDateTime 和 SQL Server JDBC 4.2 驱动程序

java - HQL:选择语句以及使用 'case when then' 给出意外的 token 错误

java - Spring JPA 注释和 ORM.xml 替代方案?

java - Spring Autowiring 自动检测

java - 使用什么类型的对象来制作带有选择字段的表单?

java - 面向 Java 开发人员的 eclipse IDE 上的 JSP

java - 如何使用 Comparable 接口(interface)比较 ArrayList 中对象的多个属性?

Java system.out.print 打印 JOptionPane.ShowMessageDialog

java - keystore 中的 SSL 证书不起作用

java - 如何在 hibernate 查询语言中按没有时间戳的日期分组?