JPA 标准教程 [已关闭]
2022-08-31 14:21:11
我一直在尝试找到一个JPA Criteria API教程,但没有取得多大成功。你知道任何初学者吗?我想开始在Java5 / Maven应用程序中使用它来构建复杂的搜索查询。
我一直在尝试找到一个JPA Criteria API教程,但没有取得多大成功。你知道任何初学者吗?我想开始在Java5 / Maven应用程序中使用它来构建复杂的搜索查询。
JPA 2.0 中的动态类型安全查询一文是关于这个主题的非常好的,实际上是我迄今为止在网上找到的最好的一篇,甚至比第 23 章使用标准 API 创建 Java EE 6 教程中的查询(包含一些错误)还要好。
常见查询示例在此处
所有示例均采用以下形式:
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类似的语法。
示例查询DSL代码在这里:
JPAQuery query = new JPAQuery(entityManager);
List<Person> persons = query.from(person)
.where(
person.firstName.eq("John")),
.list(person);