Hibernate Criteria Projection没有映射的表关联

时间:2014-09-05 06:27:21

标签: hibernate hibernate-criteria

我有两张桌子说

  

表1和表2

     

现在Table1有3列,比如t1,t2,t3,Table2有2列t4   和t5。

我必须通过连接从两个表中获取数据,但注释或xml中的两个表之间没有映射关联。

现在的主要问题是我必须使用hibernate投影从两个表中获取所选列,例如表1中的t1,t2和表2中的t4。

我已经浏览过互联网,但找到了关联表格的例子。

如果对此有任何指导,我很高兴。

1 个答案:

答案 0 :(得分:2)

是的,在Hibernate中支持 。这里唯一的问题是我们必须使用 HQL

  

可以出现多个类,从而产生笛卡尔积或“#34; cross"加入。

from Formula, Parameter
from Formula as form, Parameter as param

所以在我们的案例中:

session
   .createQuery("SELECT t1.prop1, t1.prop2, t1.prop3 "
              + "       t2.prop4, t2.prop5 "
              + " FROM Entity1 AS t1, Entity2 As t2 " +
              // if there is some relation - unmapped
              + " WHERE t1.someProperty = t2.someProperty "
              + "   AND ... "
              )
   .setMaxResults(10) // we can even page here
   .list() 

注意:我使用了prop1,prop2和Entity1,Entity2 ......来强制感觉这是HQL。我们谈论的是映射实体,而不是表格或列

我们将收到object[]数组的收集......