2012-11-21 36 views
1

我想修改我的Hibernate条件查询添加类似GROUP BY UPPER (PERSONID)。我搜索了很多,但我没有找到任何关于此的。GROUP BY UPPER(XXX)与标准在休眠

我想改变的代码是:

Projections.groupProperty("PersonId"); 

我还没有找到一个忽略大小写法或上的方法来预测object..I'm有点绝望。

我希望你能帮助我!

回答

0

我会使用本机查询并执行原始SQL。

使用entityManager.createNativeQuery()

通常它只是简单的和更快的多去找出如何通过HQL做“正确的”直接。

+0

好的,所以在GROUP BY UPPER(X)中没有等效的休眠功能?我将使用SQL查询。谢谢! – user1841092

0

试用Projections#sqlGroupProjection

Projections.sqlGroupProjection("upper({alias}.PERSONID) as pid", 
        "PERSONID", 
        new String[] { "pid" }, 
        new Type[] { StandardBasicTypes.STRING }) 

不要忘记{别名}并使用表中的列名。

+0

谢谢。我明天会试试! – user1841092