hibernate:使用注释完全连接

时间:2013-03-17 04:11:46

标签: hibernate hibernate-mapping

我想使用hibernate在两个表上执行完全外连接。

这两个表没有任何外键主键关系。

表1。

valcode nvarchar2(10)
value number
datemodified date

表2

id number
result nvarchar2(10)

SQL查询:

select a.valcode, b.id, b.result from table1 a,table2 b (+) on a.valcode=b.id order by a.valcode

如何将此查询转换为带有表类中注释的hibernate查询?

2 个答案:

答案 0 :(得分:0)

这确实是个好问题。我还没有来过这个问题;所以,我对任何可能的解决方案都很感兴趣。

如果我理解正确,这两个表之间没有任何“自然”关系。因此,我不确定使用HQL或Criteria使用Hibernate是否有一种简单有效的方法。

如果使用所需的SQL创建视图并使用Hibernate实体映射此视图,该怎么办?

答案 1 :(得分:0)

据我所知,根据Hibernate文档,您可以在关系注释上使用fetch属性并将其设置为FetchType.EAGER

  

您可以热切地或懒惰地获取关联   实体。 fetch参数可以设置为FetchType.LAZY或   FetchType.EAGER。 EAGER将尝试使用外部联接选择   检索关联的对象,而LAZY只会触发一个选择   当第一次访问关联对象时。   @OneToMany@ManyToMany关联默认为LAZY和   @OneToOne@ManyToOne默认为EAGER。

您可以找到完整的文档here