Hibernate Criteria Projection without mapped association of tables

左心房为你撑大大i 提交于 2019-11-29 15:38:25

问题


I have 2 tables say

Table1 and Table2

Now Table1 has 3 columns say t1, t2, t3 and Table2 has 2 columns t4 and t5.

I have to fetch data from both tables by join but there is no mapped association between two tables in annotation or xml.

Now main issue is I have to use hibernate projection to fetch selected columns from both tables say t1,t2 from Table1 and t4 from Table2.

I have gone through the internet but have found examples of tables with association.

Glad if there will be any guidance on this.


回答1:


Yes, this is supported in Hibernate. The only thing here is that we have to use HQL:

  • 16.2. The from clause (cite:)

Multiple classes can appear, resulting in a cartesian product or "cross" join.

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

So in our case:

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() 

NOTE: I used prop1, prop2 and Entity1, Entity2 ... to force the feeling that this is HQL. We are talking about mapped entities, not tables or columns

And we will recieve collection of object[] array...



来源:https://stackoverflow.com/questions/25679783/hibernate-criteria-projection-without-mapped-association-of-tables

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!