我是hibernate的新手但在某种程度上有知识。
我有4个表customer
,Customer_header
,Shop
和Customer_template
。我想使用Hibernate执行以下JOIN查询...
SELECT C.c_id, CH.c_des, S.s_num, CT.qty
FROM CUSTOMER C, CUST_HEADER CH, SHOP S, CUST_TEMPLATE CT
WHERE C.c_id = S.c_id AND C.c_id=CH.c_id AND CH.c_id=S.c_id AND CH.c_id=CT.c_id;
我已经阅读了一些参考资料。一些使用criteria
API,一些使用HQL
查询。我没有得到如何为4张桌子做这件事......
请建议我怎么做?
先谢谢..
答案 0 :(得分:0)
正如您所说,您可以使用Criteria
或HQL
来执行此操作,以下是使用HQL执行此操作的方法:
String queryString="C.c_id, CH.c_des, S.s_num, CT.qty FROM CUSTOMER C, CUST_HEADER CH, SHOP S, CUST_TEMPLATE CT WHERE C.c_id = S.c_id AND C.c_id=CH.c_id AND CH.c_id=S.c_id AND CH.c_id=CT.c_id";
Query query=session.createQuery(queryString);
List<Object[]> result=query.list();
您将得到一个Object[]
数组列表,其中每个数组的第一个元素是C.c_id
,第二个是CH.c_des
,第三个是{{} 1}},最后一个是S.s_num
。