使用OneToOne进行休眠

时间:2010-05-31 02:41:22

标签: java hibernate jpa jpql

我有两张桌子

tab1 { col1 (PK), col2, col3 }

tab2 { col1, col2(PK), col3 }

我正在使用Hibernate注释来加入“OneToOne”

我有以下用于tab1的Hibernate类

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

我原本希望运行以下的sql

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

但它没有像我预期的那样工作。请帮助

1 个答案:

答案 0 :(得分:0)

如果您想要检索tab1个实体并使用单个选择急切加载关联的tab2,请使用“获取”加入:

SELECT t1 from Tab1 t1 left join fetch t1.t2

在使用ORM时,您需要考虑关联并浏览关联。