我有2张桌子说
表1和表2
现在Table1有3列,分别是t1,t2,t3,而Table2有2列t4和t5。
我必须通过连接从两个表中获取数据,但是注释或xml中的两个表之间没有映射的关联。
现在的主要问题是我必须使用休眠投影从两个表中获取选定的列,例如,表1中的t1,t2和表2中的t4。
我浏览了互联网,但找到了与关联表相关的示例。
很高兴就此有任何指导。
是的,这在Hibernate中受支持。这里唯一的事情是我们必须使用HQL:
可能会出现多个类,从而导致笛卡尔积或“交叉”联接。
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[]
数组的集合...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句