Cla*_*den 6 java sql hql criteria-api
从这个问题派生出来,是否可以将HQL或Criteria用于以下SQL语句:
SELECT
e.type,
count(e),
count(d),
count (case when gender = 'male' then 1 else NULL end) AS NumberOfMaleEmployees
from Department d
JOIN d.employees e
WHERE e.dead = 'maybe'
GROUP BY e.type
Run Code Online (Sandbox Code Playgroud)
虽然谷歌提出了一些HQL支持CASE语句的命中,但Hibernate 3.6.6失败了
QuerySyntaxException:意外令牌:CASE
当我在EntityManager实例上创建上面的查询时.
为每个e.type创建另一个查询来手动确定男性的数量,例如每个e.type,这有多糟糕.
SELECT
count(e),
from Department d
JOIN d.employees e
WHERE e.dead = 'maybe', e.type = ugly
Run Code Online (Sandbox Code Playgroud)
由于可能有很多类型,这可能很慢.我想数据库为我做的工作.
Cla*_*den 11
好吧,似乎支持case语句:
http://docs.jboss.org/hibernate/core/3.5/reference/en/html/queryhql.html
他们似乎没有在count()内工作.另一种方法是使用和(情况下,当...然后1个否则为0端)代替
| 归档时间: |
|
| 查看次数: |
24560 次 |
| 最近记录: |