web-dev-qa-db-fra.com

Tutoriel sur les critères JPA

J'ai essayé de trouver un didacticiel sur l'API des critères JPA, mais je n'ai pas eu beaucoup de succès. En connaissez-vous pour les débutants? J'aimerais commencer à l'utiliser dans une application Java5/Maven pour créer des requêtes de recherche complexes.

67
John Manak

L'article Dynamic, typesafe queries in JPA 2. est un très bon article sur ce sujet, en fait le meilleur que j'ai trouvé jusqu'à présent en ligne , encore mieux que le Chapitre 23 Utilisation de l'API Criteria pour créer des requêtes à partir des tutoriels Java EE 6 (qui contient quelques erreurs).

103
Pascal Thivent

Des exemples de requêtes courantes sont ici

Tous les exemples sont sous cette forme:

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

Si vous envisagez également d'autres technologies, vous devriez sérieusement envisager querydsl . Les principaux avantages par rapport aux critères incluent un code plus court, une bonne lisibilité et une syntaxe similaire à SQL standard.

Exemple de code QueryDSL ici:

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

Pro JPA 2: Maîtriser le Java API de persistance http://books.google.com/books?id=j84hdeHH2PYC

C'est la source que je trouve la plus utile.

7
John Manak
1
Aaron Saunders