Package model.repository
Class GenericRepository
- java.lang.Object
- 
- model.repository.GenericRepository
 
- 
- All Implemented Interfaces:
- Serializable
 
 public class GenericRepository extends Object implements Serializable Classe che incapsula la logica CRUD di base per tutte le entità persistenti- See Also:
- EntityManager, Serialized Form
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected EntityManagerem
 - 
Constructor SummaryConstructors Constructor Description GenericRepository()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> List<T>findAll(Class<T> entityClass)Restituisce una lista tipata contenente tutte le istanze di una determinata entità di persistenza<T> TfindById(Class<T> entityClass, Object primaryKey)Trova per chiave primaria, restituendo un'entità caricata pigramente (lazy-loaded).<T> TfindById(Class<T> entityClass, Object primaryKey, boolean loadLazily)Trova per chiave primaria<T> TfindByNaturalId(Class<T> entityClass, Object naturalKey)<T> TfindByNaturalId(Class<T> entityClass, Object naturalKey, boolean getReference)<T> LonggetCount(Class<T> entityClass)Restituisce il numero indicante la quantità di istanze di una determinata entità di persistenza<T> Tinsert(T entity)Crea un'istanza persistente e gestita (managed entity)<T> Tmerge(T entity)Unisce lo stato di una data entità allo stato nel contesto di persistenza<T> voidremove(T entity)Rimuove l'istanza dal contesto di persistenza
 
- 
- 
- 
Field Detail- 
emprotected EntityManager em 
 
- 
 - 
Constructor Detail- 
GenericRepositorypublic GenericRepository() 
 
- 
 - 
Method Detail- 
findByIdpublic <T> T findById(Class<T> entityClass, Object primaryKey, boolean loadLazily) Trova per chiave primaria- Returns:
- L'entità trovata o null se l'entità non esiste
- Throws:
- IllegalArgumentException- se la chiave primaria fornita è null o non valida per l'entità da cercare
- See Also:
- EntityManager.find(Class, Object)
 
 - 
findByIdpublic <T> T findById(Class<T> entityClass, Object primaryKey) Trova per chiave primaria, restituendo un'entità caricata pigramente (lazy-loaded). L'entità restituita viene caricata al primo accesso effettuato. Se l'istanza non esiste, viene lanciatoEntityNotFoundExceptionquando l'istanza viene acceduta per la prima volta.- Returns:
- L'entità caricata pigramente
- Throws:
- IllegalArgumentException- se la chiave primaria fornita è null o non valida per l'entità da cercare
- EntityNotFoundException- se l'entità non può essere acceduta
- See Also:
- EntityManager.getReference(Class, Object)
 
 - 
findByNaturalIdpublic <T> T findByNaturalId(Class<T> entityClass, Object naturalKey) 
 - 
findByNaturalIdpublic <T> T findByNaturalId(Class<T> entityClass, Object naturalKey, boolean getReference) 
 - 
findAllpublic <T> List<T> findAll(Class<T> entityClass) Restituisce una lista tipata contenente tutte le istanze di una determinata entità di persistenza- Returns:
- La lista dei risultati
- Throws:
- QueryTimeoutException- In caso di timeout raggiunto
- PersistenceException
 
 - 
getCountpublic <T> Long getCount(Class<T> entityClass) Restituisce il numero indicante la quantità di istanze di una determinata entità di persistenza- Returns:
- La quantità di istanze
- Throws:
- QueryTimeoutException- In caso di timeout raggiunto
- PersistenceException
 
 - 
insertpublic <T> T insert(T entity) Crea un'istanza persistente e gestita (managed entity)- Parameters:
- entity- L'istanza di entità
- Returns:
- L'istanza passata come parametro
- Throws:
- EntityExistsException- se l'entità esiste già
- See Also:
- EntityManager.persist(Object)
 
 - 
mergepublic <T> T merge(T entity) Unisce lo stato di una data entità allo stato nel contesto di persistenza- Parameters:
- entity-
- Returns:
- Una copia managed dell'entità passata come parametro
- See Also:
- EntityManager.merge(Object)
 
 - 
removepublic <T> void remove(T entity) Rimuove l'istanza dal contesto di persistenza- Parameters:
- entity- L'entità managed da rimuovere
- Throws:
- IllegalArgumentException- se l'entità passata non è managed
 
 
- 
 
-