Ho cercato di trovare un tutorial API Criteri JPA ma non ho avuto molto successo. Ne conosci qualcuno per i principianti? Mi piacerebbe iniziare a usarlo in un'app Java5/Maven per creare query di ricerca complesse.Tutorial criteri JPA
risposta
L'articolo Dynamic, typesafe queries in JPA 2.0 è molto buono su questo argomento, in realtà il migliore che ho trovato finora linea, anche meglio del Chapter 23 Using the Criteria API to Create Queries dalle Java EE 6 tutorial (che contiene alcuni errori).
@HDave collegamento EE7 Oracle alla API Criteria è cambiato [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: Mastering the Java Persistence API http://books.google.com/books?id=j84hdeHH2PYC
Questa è la fonte trovo il più utile.
Esempi di query comuni sono here
Tutti gli esempi sono in questa forma:
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();
Se state prendendo in considerazione anche altre tecnologie si dovrebbe prendere seriamente in considerazione querydsl. I principali vantaggi rispetto ai criteri includono codice più breve, buona leggibilità e sintassi simile a SQL regolare.
codiceEsempio QueryDSL qui:
JPAQuery query = new JPAQuery(entityManager);
List<Person> persons = query.from(person)
.where(
person.firstName.eq("John")),
.list(person);
coefficiente di correlazione tra fuori tema e == utilità 1,0 – HDave