JPA标准教程

我一直在试图find一个JPA Criteria API教程,但一直没有太大的成功。 你知道任何初学者吗? 我想开始在Java5 / Maven应用程序中使用它来构build复杂的search查询。

JPA 2.0文章中的dynamictypes安全查询在这个主题上是非常好的,实际上是迄今为止在网上发现的最好的一个,甚至比第23章使用Criteria API从Java EE 6教程创build查询更好包含一些错误)。

常见查询的例子在这里

所有的例子都是这样的forms:

CriteriaBuilder cb = em.getCriteriaBuilder(); // Query for a List of objects. CriteriaQuery cq = cb.createQuery(); Root e = cq.from(Employee.class); cq.where(cb.greaterThan(e.get("salary"), 100000)); Query query = em.createQuery(cq); List<Employee> result = query.getResultList(); 

如果你也在考虑其他技术,你应该认真考虑querydsl 。 与标准相比,主要的优点包括更短的代码,良好的可读性和类似于常规sql的语法。

示例QueryDSL代码在这里:

 JPAQuery query = new JPAQuery(entityManager); List<Person> persons = query.from(person) .where( person.firstName.eq("John"), .list(person); 

Pro JPA 2:掌握Java Persistence API http://books.google.com/books?id=j84hdeHH2PYC

这是我发现最有用的来源。