2016-06-08 123 views
0

我很難找到錯誤的根本原因,其中@OneToOne映射不工作並且返回「引用未知實體」異常。Hibernate @OneToOne引用未知實體錯誤

首先我確保兩個類都使用@Entity標籤正確註釋。另外值得注意的是我的Product.java類(你會在下面看到)工作的很好,而且當我嘗試將一個外鍵附加到引用Product.java類的Project.java類時遇到問題。

Java代碼Project.java和Product.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 

感謝任何幫助和建議。

+0

我在您的參考文獻中看到了一些差異。你寫了'@OneToOne(mappedBy =「Project」)',但你的表名爲'@Table(name =「project」)'(注意字母「P」)。你還沒有在'Project'類內的第一個'@ OneToOne'關係上添加'mappedBy' – DarkCygnus

回答

0

這是一個配置問題。休眠不會將類Product識別爲實體。

+0

我該如何解決所述配置問題? – AHijaouy

+1

供將來參考:我在我的hibernate.cfg.xml文件中添加了 \t \t 問題解決了 – AHijaouy

相關問題