Java 命名查询、本机查询或条件API
我需要以报告的形式报告来自3个不同表的数据 用户可以使用的各种搜索组合有Java 命名查询、本机查询或条件API,java,oracle,hibernate,jpa,Java,Oracle,Hibernate,Jpa,我需要以报告的形式报告来自3个不同表的数据 用户可以使用的各种搜索组合有 INSU用户ID和日期范围 客户账户ID 客户帐户ID和日期范围 询问 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 JO
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进行映射
我已经读够了google中的各种方法,有人能告诉我以下哪种hibernate方法最适合我的场景吗
em.createNamedQuery("xxx").setParameter("srtartDate", ...).setParameter("endDate",..)
如果它是从单个实体/表中选择的(这里是学生),那么使用命名查询就可以了,但在我的例子中,我需要从多个表中选择,因为命名查询只是绑定到它所在的表。我正在寻找一个select跨越多个表的示例。我现在无法尝试,但类似这样的sql也可以在命名查询中使用:select e.salary FROM Student e,Department d,其中e.Department_id=d.id和d.name=:deptName和e.name=:empName
em.createNamedQuery("xxx").setParameter("srtartDate", ...).setParameter("endDate",..)