2016-06-08 3 views
0

Мне сложно найти основную причину ошибки, когда мое сопоставление @OneToOne не работает и возвращает исключение «ссылки на неизвестную сущность».Hibernate @OneToOne Ссылки на ошибку неизвестного объекта

Для начала я гарантировал, что оба класса правильно аннотируются тегом @Entity. Также стоит отметить, что мой класс Product.java (который вы увидите ниже) работал нормально и сталкивается с проблемой, когда я пытаюсь подключить внешний ключ к классу Project.java, ссылаясь на класс Product.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»). Также вы не добавляете 'mappedBy' в первые отношения' @ OneToOne' внутри класса 'Project' – DarkCygnus

ответ

0

Это проблема конфигурации. Hibernate не распознает класс Product как объект.

+0

И как я могу решить проблему с конфигурацией? – AHijaouy

+1

Для справок: Я добавил \t \t в мой файл hibernate.cfg.xml и проблема решена – AHijaouy

Смежные вопросы