在jbdevstudio中启动新的Java EE(maven)Web应用程序时,已经包含一些代码,包括具有注册的成员模型。 在MemberRepository类中,有两种方法使用条件查询:
public Member findByEmail(String email) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Member> criteria = cb.createQuery(Member.class);
Root<Member> member = criteria.from(Member.class);
// Swap criteria statements if you would like to try out type-safe criteria queries, a new
// feature in JPA 2.0
// criteria.select(member).where(cb.equal(member.get(Member_.name), email));
criteria.select(member).where(cb.equal(member.get("email"), email));
return em.createQuery(criteria).getSingleResult();
}
public List<Member> findAllOrderedByName() {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Member> criteria = cb.createQuery(Member.class);
Root<Member> member = criteria.from(Member.class);
// Swap criteria statements if you would like to try out type-safe criteria queries, a new
// feature in JPA 2.0
// criteria.select(member).orderBy(cb.asc(member.get(Member_.name)));
criteria.select(member).orderBy(cb.asc(member.get("name")));
return em.createQuery(criteria).getResultList();
}
我想使用(例如试用)建议的类型安全标准查询的代码行,但编译器遇到Member_
的问题。
我在这里缺少什么?
问候 马丁
答案 0 :(得分:4)
要在Criteria查询中使用JPA Static Metamodel类,您必须首先创建静态元模型类。所有JPA提供商都提供了一种方法,他们的文档会告诉您如何完成。此处的链接显示了一个