【问题标题】:Hibernate problem - “Use of @OneToMany or @ManyToMany targeting an unmapped class”Hibernate 问题 - “使用 @OneToMany 或 @ManyToMany 瞄准未映射的类”
【发布时间】:2019-05-05 00:49:38
【问题描述】:

我有 2 个实体,LCPUserDetails 和 LCPUserPrivilege。 LCPUserDetails 有一个 List 类成员,所以是一对多的关系。当我运行我的单元测试时,我得到了这个异常:

@Entity
@Table(name = "LCP_USER_DETAILS")
public class LCPUserDetails {
@OneToMany(orphanRemoval = true, cascade = {CascadeType.ALL},
 mappedBy = "userDetails")
    private List<LCPUserPrivilege> privileges= new ArrayList<>();
}

@Entity
@Table(name = "LCP_USER_PRIVILEGE")
public class LCPUserPrivilege {
 @ManyToOne
    @JoinColumn(name = "USER_ID")
    private LCPUserDetails userDetails;
}

【问题讨论】:

  • 您可能忘记将 LCPUserPrivilege 添加到您的 persistence.xml 文件的类中。
  • @JBNizet 我们没有使用任何此类文件
  • 然后查找实体的列出或发现方式/位置。

标签: java hibernate


【解决方案1】:

正如 Sheik Sena Reddy 所说,您必须更新您的实体列表。如果您不使用 xml 文件,则可以检查设置 EntityManagerFactory 的位置并添加 EMF 将扫描的包列表以列出您的实体 emf.setPackagesToScan(['my.package.to.scan']);

【讨论】:

    猜你喜欢
    • 2020-09-30
    • 2011-06-24
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多