2011-11-25 5 views
0

Licitatie 엔티티를 작동하지 엔티티 사이의 OneToOne 관계 :자바 JPA -

@Entity 
@Table(name="licitatie") 
public class Licitatie implements Serializable { 
    ... 

    //bi-directional one-to-one association to Licitatie 
    @OneToOne(mappedBy="licitatie") 
    private Produs produs; 

    ... 
} 

PRODUS 법인 :

@Entity 
@Table(name="produs") 
//@DiscriminatorColumn(name="id", discriminatorType=DiscriminatorType.INTEGER) 
@MappedSuperclass 
public class Produs implements Serializable { 
    ... 

    //bi-directional one-to-one association to Produs 
    @OneToOne 
    @JoinColumn(name="licitatie_id") 
    private Licitatie licitatie; 

    ... 
} 

데이터베이스 :

Licitatie :

id start status 
1 5 open 
2 5 open 
3 5 open 

PRODUS는 :

내가 트리스 쿼리를 실행 한 후
id licitatie_id DTYPE description 
1 1   Carte ... 
2 2   Carte ... 
3 3   Carte ... 

: , Licitatie가 null 유형의 개체에서 속성 제품 "Licitatie의 t FROM t을 선택하십시오." 그러나 테이블에 레코드가 있습니다.

내가 뭘 잘못하고있어?

* 편집 나는 테이블에서 데이터를 얻을 후 *

, getProdus()를 호출하면이 메시지를 반환 :

:

+0

당신은 포함 가능한 주석을 살펴 할 수 있습니다 ... – Mechkov

+0

내가 MappedSuperClass 주석을 제외하고 아무 잘못 볼 수 없습니다. ** 모든 쿼리에는 고유 한 프로듀스가 있습니다 (쿼리가 데이터베이스에서 모든 리 시트 티를 반환하기 때문에)? licitatie_id 열에 고유 한 제약 조건이 있습니까? JPA 엔진이란 무엇입니까? –

+0

모든 "양도자"에는 단 하나의 "produs"기록 만 있다고 확신합니다. – Emanuel

답변

0

해결 {IndirectSet 인스턴스화되지}

열 PRODUS_ID을 (를) licitati에 추가했습니다. 전자 테이블.

Licitatie : 아이디 produs_id ... PRODUS : ID가, licitatie_id ...