2012-11-21 70 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