我有一个SQL查询,我想用Hibernate Criteria重写 .

请考虑以下简化版本:

SELECT * FROM (
          SELECT ROW_NUMBER() OVER (
            ORDER BY records.created DESC, records.created DESC
          ) AS RowNum, * FROM (
            SELECT a.id AS id
            FROM EntityA a
            UNION 
            SELECT b.id AS id
            FROM EntityB b
          ) AS records
) AS result

我通过将查询分成不同的部分来解决这个问题 .

我为两个嵌套的SELECTS中的每一个写了两个单独的标准,并将得到的两个列表合并到一个SET as advised here中 . 所以涵盖:

SELECT a.id AS id
FROM EntityA a
UNION 
SELECT b.id AS id
FROM EntityB b

现在我想通过查询生成的SET创建周围的查询 .

Questions

  • 我可以使用Criterias查询结果集吗?

  • 如果这是不可能的,我是否接近这个错误,我是否应该实施一个大的Criteria而不是尝试合并多个较小的?

我有点麻烦解释所以如果需要,请不要犹豫,要求更多信息 .