2010-05-31 8 views
1

J'ai deux tablesMise en veille prolongée en utilisant OneToOne

tab1 { col1 (PK), col2, col3 } 

tab2 { col1, col2(PK), col3 } 

J'utilise l'annotation Hibernate pour se joindre à l'aide "OneToOne"

J'ai la ci-dessous classe Hibernate pour tab1

class tab1 { 
    @OneToOne 
    @JoinColumn(name = "col2", referencedColumnName = "col1") 
    private tab2 t2; 
} 

je me attendais pour exécuter le sql ci-dessous

select * from tab1 t1, tab2 t2 where t1.col1 = t2.col2 

Mais il ne fonctionne pas comme j'expected.Please aider

Répondre

0

Si vous souhaitez récupérer tab1 entités et à la charge de la hâte associée tab2 à l'aide d'une seule sélection, utilisez une jointure « fetchée »:

SELECT t1 from Tab1 t1 left join fetch t1.t2 

Vous devez penser aux associations et naviguer dans les associations lorsque vous travaillez avec un ORM.

Questions connexes