0
我需要以報表的形式報告來自3個不同表格的數據。命名查詢,原生查詢或標準API
的各種搜索組合用戶可以與搜索是..
- INS_USER_ID和DATERANGE
- CUST_ACCT_ID
- CUST_ACCT_ID和DATERANGE
查詢..
select DISTINCT W.CUST_ACCT_ID, W.INS_USER_ID, WS.STTI_DATE, WS.STTI_AMT, WC.CMMT from T_WRK W
INNER JOIN T_WRK_STTI WS ON W.WRK_STTI_ID = WS.WRK_STTI_ID
INNER JOIN T_WRK_CMMT WC ON W.WRK_ID = WC.WRK_ID
WHERE W.CUST_ACCT_ID = 90610194 AND WS.STTI_DATE BETWEEN '01-JAN-12' AND '31-DEC-12'
select DISTINCT W.CUST_ACCT_ID, W.INS_USER_ID, WS.STTI_DATE, WS.STTI_AMT, WC.CMMT from T_WRKCS W
INNER JOIN T_WRKCS_STTI WS ON W.WRKCS_STTI_ID = WS.WRKCS_STTI_ID
INNER JOIN T_WRKCS_CMMT WC ON W.WRKCS_ID = WC.WRKCS_ID
WHERE W.INS_USER_ID = 231 AND WS.STTI_DATE BETWEEN '01-JAN-12' AND '31-DEC-12'
全部現有的表格是否已經使用Hibernate/JPA進行了映射。
我已經閱讀了足夠的關於谷歌的各種方法,有人可以告訴我哪一種以下的休眠方法最適合我的方案。
- NamedQuery
- NativeQuery
- 標準API
我想NamedQuery,但還沒有看到一個NamedQuery多個表格的,一個例子將是巨大的。謝謝。
如果其選擇單個實體/表(這裏是學生),然後使用命名查詢是好的,但在我的情況下,我需要從多個表中選擇,因爲命名查詢只是綁定到它所在的表。我正在尋找一個示例,其中select是跨越多個表。 – 2013-04-24 13:58:22
我現在不能嘗試,但是像這樣的一個sql也可以在命名查詢中工作:SELECT e.salary FROM Student e,Department d WHERE e.department_id = d.id and d.name =:deptName AND e.name =:empName – Cris 2013-04-24 14:35:47