【问题标题】:Hibernate @OneToOne References an Unknown Entity ErrorHibernate @OneToOne 引用了一个未知的实体错误
【发布时间】:2016-10-09 05:33:21
【问题描述】:

我很难找到错误的根本原因,即我的 @OneToOne 映射不起作用并返回“引用未知实体”异常。

首先,我确保两个类都使用@Entity 标记正确注释。另外值得注意的是,我的 Product.java 类(您将在下面看到)运行良好,并且仅在我尝试将外键附加到引用 Product.java 类的 Project.java 类时遇到问题。

Project.java 和 Product.java 的 Java 代码

@Entity
@Table (name="project")
@SequenceGenerator(name="seq_project",sequenceName="BI**********.SEQ_PROJECT", allocationSize=1, initialValue=1)
public class Project {

    //Fields
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_project")
    @Column(name="PROJECT_ID")
    private int id;
    @Column(name="PROJECT_CODE")
    private String projectCode;
    @Column(name="PRODUCT_ID")
    private int productId;
    @Column(name="DESCRIPTION")
    private String description;

    @OneToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
    //@PrimaryKeyJoinColumn
    @JoinColumn(name="PRODUCT.PRODUCT_ID")
    private Product product;


@Entity
@Table (name="PRODUCT")
@SequenceGenerator(name="seq_product",sequenceName="BI************.SEQ_PRODUCT", allocationSize=1, initialValue=1)
public class Product {

    //Fields
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_product")
    @Column(name="PRODUCT_ID")
    private int productId;
    @Column(name="PRODUCT_NAME")
    private String productName;
    @Column(name="DESCRIPTION")
    private String description;
    @OneToOne(mappedBy="Project")
    @JoinColumn(name="PROJET_FK1")
    private Project project;

这是我得到的错误代码:

Exception in thread "main" org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.manh.entries.Project.product references an unknown entity: com.manh.entries.Product

感谢您的帮助和建议。

【问题讨论】:

  • 我发现您的参考文献有所不同。你写了@OneToOne(mappedBy="Project"),但你的表被命名为@Table (name="project")(注意字母“P”)。此外,您没有在Project 类中的第一个@OneToOne 关系上添加mappedBy

标签: java sql oracle hibernate oracle11g


【解决方案1】:

这是一个配置问题。 Hibernate 无法将 Product 类识别为实体。

【讨论】:

  • 我将如何解决上述配置问题?
  • 供将来参考:我将 添加到我的 hibernate.cfg 中。 xml文件,问题就解决了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
  • 2013-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多