2016-06-08 21 views
0

Ich finde es schwierig, die Ursache eines Fehlers zu finden, bei dem meine @OneToOne-Zuordnung nicht funktioniert und die Ausnahme "Verweise auf eine unbekannte Entität" zurückgibt.Hibernate @OneToOne Verweise auf einen unbekannten Entitätsfehler

Zunächst habe ich sichergestellt, dass beide Klassen ordnungsgemäß mit dem @Entity-Tag versehen sind. Es ist auch erwähnenswert, dass meine Product.java-Klasse (die Sie unten sehen) gut funktionierte und nur ein Problem auftritt, wenn ich versuche, einen Fremdschlüssel an meine Project.java-Klasse anzuhängen, die auf die Product.java-Klasse verweist.

Java-Code für Project.java und 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; 

Hier ist der Fehlercode Ich erhalte:

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

Vielen Dank für jede Hilfe und Beratung.

+0

Ich sehe einige Unterschiede in Ihren Referenzen. Sie haben '@OneToOne (mappedBy =" Project ")' geschrieben, aber Ihre Tabelle wurde '@Table (name =" project ")' genannt (Beachten Sie den Buchstaben "P"). Außerdem fügen Sie in der '' OneToOne''-Beziehung innerhalb der 'Projekt'-Klasse – DarkCygnus

Antwort

0

Es ist ein Konfigurationsproblem. Hibernate erkennt die Klasse nicht als Entität.

+0

kein 'mappedBy' hinzu. Und wie würde ich das Konfigurationsproblem beheben? – AHijaouy

+1

Zukünftige Referenz: Ich habe \t \t in meine hibernate.cfg.xml-Datei und die Problem wurde gelöst – AHijaouy

Verwandte Themen