JPA标准教程[关闭]


69

我一直在尝试查找JPA Criteria API教程,但是并没有取得太大的成功。您了解任何初学者吗?我想开始在Java5 / Maven应用中使用它来构建复杂的搜索查询。


4
离题和有用性之间的相关系数== 1.0
HDave

Answers:



14

常见查询的示例在这里

所有示例均采用以下形式:

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);

1
您的第一个示例抛出“没有显式选择且无法确定隐式选择”的例外
Irakli

.where(此处打开的支架没有关闭。
Alex78191


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.