使用this線程(這是非常有用的),所以我做同樣可以JPQL查詢(很簡單,只需選擇所有記錄,但需要由「姓名」字段排序):JPQL查詢:使用ORDER BY情況下不區分大小寫
SELECT o, LOWER(o.name) AS nameInOrder FROM UserGroup o ORDER BY nameInOrder ASC
我使用OpenJPA的,不幸的是應用程序給我
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.myname.app.UserGroup
運行整個JPQL的代碼是這樣的:
public static List<UserGroup> findAllUserGroups(){
return entityManager().createQuery("SELECT o, LOWER(o.name) AS nameInOrder FROM UserGroup o ORDER BY nameInOrder ASC", UserGroup.class).getResultList();
}
我的猜測是,似乎entityManager以o
爲對象,但LOWER(o.name)
爲另一個?
請幫忙,真的沒有看到任何問題,但OpenJPA(v2.2)不配合。
ŧ帽子非常好找!我很遺憾,沒有完成在該線程上的整個答案:) – Dreamer