我有两张桌子说
表1和表2
现在Table1有3列,比如t1,t2,t3,Table2有2列t4 和t5。
我必须通过连接从两个表中获取数据,但注释或xml中的两个表之间没有映射关联。
现在的主要问题是我必须使用hibernate投影从两个表中获取所选列,例如表1中的t1,t2和表2中的t4。
我已经浏览过互联网,但找到了关联表格的例子。
如果对此有任何指导,我很高兴。
答案 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[]
数组的收集......