使用这个线程(这很有帮助)所以我对可能 jpql 查询做同样的事情(非常简单,只需选择所有记录但需要按“名称”字段排序):
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();
}
我的猜测,似乎 entityManagero
作为一个对象,但LOWER(o.name)
作为另一个?
请帮忙,真的没有看到任何问题,但 OpenJPA(v2.2) 不合作。