クラスで注文するJPA基準クエリを使用する方法はありますか? 次のドメイン オブジェクトを想像してください。
abstract class Hobby { ... }
class Coding extends Hobby { ... }
class Gaming extends Hobby { ... }
私ができた通常のQLを使用して
from Hobby h order by h.class
しかし、条件クエリに同じロジックを適用すると、実行時例外「不明な属性」が発生します。
CriteriaQuery<Hobby> criteriaQuery = builder.createQuery(Hobby.class);
Root<Hobby> hobbyRoot = criteriaQuery.from(Hobby.class);
criteriaQuery.orderBy(builder.asc(hobbyRoot.get("class"));
List<Hobby> hobbies = entityManager.createQuery(criteriaQuery).getResultList();
使用される JPA 実装: Hibernate-EntityManager v3.5.5-Final