J'ai essayé de trouver un didacticiel de l'API JPA Criteria, mais je n'ai pas eu beaucoup de succès. Savez-vous à propos de tout pour les débutants? Je voudrais commencer à l'utiliser dans une application Java5/Maven pour créer des requêtes de recherche complexes.Didacticiel sur les critères JPA
Répondre
Le Dynamic, typesafe queries in JPA 2.0 article est un très bon sur ce sujet, en fait le meilleur que j'ai trouvé jusqu'à présent en ligne, encore mieux que le Chapter 23 Using the Criteria API to Create Queries des tutoriels Java EE 6 (qui contient quelques erreurs).
@HDave lien EE7 d'Oracle à l'API Criteria a changé pour [https://docs.oracle.com/ javaee/7/tutorial/persistence-criteria.htm # GJITV] (https://docs.oracle.com/javaee/7/tutorial/persistence-criteria.htm#GJITV) – skomisa
Pro JPA 2: Maîtriser l'API Java Persistence http://books.google.com/books?id=j84hdeHH2PYC
Ceci est la source que je trouve le plus utile.
Des exemples de requêtes communes sont here
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 envisager sérieusement querydsl. Les principaux avantages par rapport aux critères incluent un code plus court, une bonne lisibilité et une syntaxe similaire à sql standard.
Exemple Code QueryDSL ici:
JPAQuery query = new JPAQuery(entityManager);
List<Person> persons = query.from(person)
.where(
person.firstName.eq("John")),
.list(person);
Coefficient de corrélation entre hors-sujet et l'utilité == 1.0 – HDave