如何在休眠中运行 UNION 查询。我是学习休眠的新手,现在我有一个这样的命名查询,
<query>
SELECT product.defaultSk.name FROM Product product
WHERE product.defaultSk.name LIKE :name
AND product.defaultSk.activeStartDate <= :currentDate
AND (product.defaultSk.activeEndDate > :currentDate OR product.defaultSk.activeEndDate = null)
AND (product.archiveStatus.archived IS NULL OR product.archiveStatus.archived = 'N')
UNION
SELECT category.name FROM Category category
WHERE category.name LIKE :name
AND (archived = 'N')
</query>
当我执行上述查询时,我只得到第一个查询的结果,而我的第二个查询没有返回任何结果。我的控制台只显示第一个查询的触发,我找不到第二个查询被触发。为什么它不运行第二个查询...
这是我运行查询后的控制台,
安慰:
Hibernate: select skimpl1_.NAME as col_0_0_ from PRODUCT productimp0_, BLC_SK skimpl1_ left outer join PRODUCT_SK_XREF skimpl1_1_ on skimpl1_.SK_ID=skimpl1_1_.SK_ID where productimp0_.DEFAULT_SK_ID=skuimpl1_.SK_ID and (skimpl1_.NAME like ?) and skimpl1_.ACTIVE_START_DATE<=? and (skimpl1_.ACTIVE_END_DATE>? or skimpl1_.ACTIVE_END_DATE is null) and (productimp0_.ARCHIVED is null or productimp0_.ARCHIVED='N')
我已经实现了 jquery 自动完成以从表中生成结果,现在我想合并两个表结果。我将使用联合查询,因为它合并了来自两个表的结果。我做错了什么吗?我已经阅读了一些 SO 帖子,说明在 Hibernate 中无法进行联合。如果是这样,这个问题的解决方法是什么。
提前致谢。