在休眠标准中创建内部查询

时间:2012-09-18 10:20:58

标签: hibernate

我必须在hibernate

中的条件查询中创建这种类型的查询
SELECT *
        FROM
        ${hibernate.default_schema}.VW_GEMS_CUST_TRNG_RPT CUSTOMER,
        (SELECT * FROM ${hibernate.default_schema}.VW_GEMS_VENUE WHERE ORG_NAME =?)
        VENUE
        WHERE
        CUSTOMER.PRIMARY_VENUE_ROW_ID = VENUE.VENUE_ROW_ID(+)
        AND CUSTOMER.ORG_NAME =?
        AND CUSTOMER.CONTACT_ID =?
        ORDER BY CUSTOMER.EVNT_START_DT DESC

我该怎么做?

1 个答案:

答案 0 :(得分:0)

ROM子句中的子选择不能与标准API一起使用 但是你可以在没有子选择的情况下重写查询。

SELECT *
FROM
    ${hibernate.default_schema}.VW_GEMS_CUST_TRNG_RPT CUSTOMER
inner join ${hibernate.default_schema}.VW_GEMS_VENUE VENUE
        on (CUSTOMER.PRIMARY_VENUE_ROW_ID = VENUE.VENUE_ROW_ID(+) 
       and venue.ORG_NAME =?)
WHERE
      CUSTOMER.ORG_NAME =?
      AND CUSTOMER.CONTACT_ID =?
ORDER BY CUSTOMER.EVNT_START_DT DESC