org.hibernate作为 休眠核心 4.3.8.Final org.hibernate作为 冬眠-的EntityManager 4.3.8.Final 我的pom.xml
我的问题是:如何进行这样的查询...
SELECT
TABLE_D.*,
TABLE_A.NAME_A
FROM
TABLE_D
INNER JOIN
TABLE_E
ON TABLE_D.ID_TAB_E = TABLE_D.ID_TAB_D
LEFT JOIN
TABLE_C
ON TABLE_C.ID_TAB_C = TABLE_D.ID_TAB_D
INNER JOIN
TABLE_B
ON TABLE_B.ID_TAB_B = TABLE_C.ID_TAB_C
INNER JOIN
TABLE_A
ON TABLE_A.ID_TAB_A = TABLE_B.ID_TAB_B
WHERE
TABLE_A.NAME_A = "XXXX";
并将选中的值TABLE_D和TABLE_A返回到一个唯一的对象列表中(例如:我创建的对象以获取所有这些字段)(我可以在JPA中创建1个过滤器,无论......)? Plz帮助。
答案 0 :(得分:0)
如果你需要在HQL中返回所选列的列表,你可以编写你的hql查询并返回一个Object of Array数组,即:
List<Object[]> result = session.createQuery("select a.field1, b.field2 from EntityA a join a.entityB b").list();
然后你可以根据它们的类型(即字符串)迭代并获取值:
for (Object[] arr : result) {
String col1 = (String)arr[0];
String col2 = (String)arr[1];
}