我一直在尝试查找JPA Criteria API教程,但是并没有取得太大的成功。您了解任何初学者吗?我想开始在Java5 / Maven应用中使用它来构建复杂的搜索查询。
Answers:
JPA 2.0中的动态,类型安全查询在这一主题上是一个很好的查询,实际上是到目前为止我在网上找到的最好的查询,甚至比Java EE 6教程第23章使用Criteria API创建查询更好(包含一些错误)。
常见查询的示例在这里
所有示例均采用以下形式:
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);
.where(
此处打开的支架没有关闭。
Pro JPA 2:掌握Java Persistence API http://books.google.com/books?id=j84hdeHH2PYC
这是我发现最有用的来源。