变换一条SQL语句准则与UNION
我有我想要的标准(休眠)做SQL代码,但我与它有麻烦。我的目标是在标准中执行此SQL代码:变换一条SQL语句准则与UNION
SELECT * FROM
(
SELECT 'B', D.*
FROM table_view1 D
UNION
SELECT 'S', D.*
FROM table_view1 D
)
WHERE dbkey = 1;
我该如何做到这一点?
你将不得不使用别名,那么子查询访问的列属于它的外查询的WHERE子句
SELECT * FROM
(
SELECT 'B', D.*
FROM table_view1 D
UNION
SELECT 'S', D.*
FROM table_view1 D
) Z
WHERE Z.dbkey = 1;
请你能在准则为我写的代码,请..由于图4天,我尝试做bbut我不能 – user1814879 2013-04-30 13:43:53
你有两个选择:
- 使用原生SQL查询
- 重写您的查询,以便它不使用联合,因为Criteria API不支持
UNION
。
好吧,我看..但在我的项目,我无法使用原生SQL查询..我们必须使用Criteria ..所以我不知道我能做什么..如果你是我的查询其他解决方案 – user1814879 2013-04-30 14:06:54
只是好奇心,为什么你不能使用本机SQL? – user902383 2013-04-30 15:53:41
因为我在一个不能使用HQL,SQL Native等的项目中工作。它只是这个项目的一个标准(不要使用HQL,SQL只使用CRITERIA) – user1814879 2013-05-02 07:20:57
请不要[转贴](http://*.com/questions/16279384/hibernate-union-in-criteria)。 – eldarerathis 2013-05-01 14:28:49