Package sk.iway.iwcm.system.jpa
Class JpaTools
java.lang.Object
sk.iway.iwcm.system.jpa.JpaTools
JpaTools.java - podporne nastroje pre JPA
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Podmienka na vyhladanie objektov pomocou metody "findBy". -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> void
batchDelete
(Class<T> clazz, int... ids) static <T> Number
covertPkToNumber
(Class<T> clazz, int id) Ziska PK ako Long pre repository, alebo Integer pre standardne JPAstatic <T> boolean
Vymaze podla ID jeden objektstatic <T> List<T>
findBy
(Class<T> clazz, Integer maxRows, JpaTools.Condition... conditions) static <T> List<T>
findBy
(Class<T> clazz, JpaTools.Condition... conditions) static <T> List<T>
findByMatchingProperty
(Class<T> clazz, String propertyName, Object propertyValue) static <T> List<T>
findByProperties
(Class<T> clazz, Pair<String, ? extends Object>... properties) static <T> T
findFirstByMatchingProperty
(Class<T> clazz, String propertyName, Object propertyValue) static <T> T
findFirstByProperties
(Class<T> clazz, Pair<String, ? extends Object>... properties) static <T> PaginatedBean<T>
findPaginatedAndSortedByProperties
(Class<T> clazz, org.eclipse.persistence.expressions.Expression filter, int page, int pageSize, String sortField, JpaSortOrderEnum sortOrder) static <T> List<T>
static org.eclipse.persistence.jpa.JpaEntityManager
Vrati JpaEntityManager pre defaultny nazov DB spojenia ("iwcm") JpaEntityManager je EclipseLink-ove rozsirenie EntityManager-a, ktoreho funkcionalita je rozsirena oproti JPA specifikacii.static org.eclipse.persistence.jpa.JpaEntityManager
getEclipseLinkEntityManager
(Class<?> clazz) Vrati JpaEntityManager pre nazov DB spojenia ktory je nastaveny v danej classe cez anotaciu DataSource JpaEntityManager je EclipseLink-ove rozsirenie EntityManager-a, ktoreho funkcionalita je rozsirena oproti JPA specifikacii.static org.eclipse.persistence.jpa.JpaEntityManager
getEclipseLinkEntityManager
(String dbName) Vrati JpaEntityManager pre zadany nazov DB spojenia.static javax.persistence.EntityManager
Vrati EntityManager pre defaultny nazov DB spojenia ("iwcm")static javax.persistence.EntityManager
getEntityManager
(String dbName) Vrati EntityManager pre zadany nazov DB spojenia (v povodnom JPA to je persistenceUnit)getJpaClassNames
(String rootUrl) static boolean
isJPADatasource
(String name) Urci, ci dane meno datasource je urcene pre JPA, je to len iwcm, alebo nazov obsahujuci jpa (je to takto kvoli rychlosti startu WJ a optimalizacii pamate)static org.eclipse.persistence.expressions.Expression
propertiesToExpression
(org.eclipse.persistence.expressions.ExpressionBuilder builder, Pair<String, ? extends Object>... properties) static void
removePredicateWithName
(String name, List<javax.persistence.criteria.Predicate> predicates) Removes predicate for field name from predicates list
-
Constructor Details
-
JpaTools
public JpaTools()
-
-
Method Details
-
getEntityManager
Vrati EntityManager pre zadany nazov DB spojenia (v povodnom JPA to je persistenceUnit)- Parameters:
dbName
- - nazov DB spojenia- Returns:
- EntityManager alebo null, ak pre DB spojenie neexistuje EntityManagerFactory
-
getEntityManager
public static javax.persistence.EntityManager getEntityManager()Vrati EntityManager pre defaultny nazov DB spojenia ("iwcm")- Returns:
- an @EntityManager
-
getEclipseLinkEntityManager
public static org.eclipse.persistence.jpa.JpaEntityManager getEclipseLinkEntityManager(String dbName) Vrati JpaEntityManager pre zadany nazov DB spojenia. JpaEntityManager je EclipseLink-ove rozsirenie EntityManager-a, ktoreho funkcionalita je rozsirena oproti JPA specifikacii. Metoda skonvertuje EntityManager, vrateny metodou getEntityManager(dbName).- Parameters:
dbName
-- Returns:
-
getEclipseLinkEntityManager
public static org.eclipse.persistence.jpa.JpaEntityManager getEclipseLinkEntityManager()Vrati JpaEntityManager pre defaultny nazov DB spojenia ("iwcm") JpaEntityManager je EclipseLink-ove rozsirenie EntityManager-a, ktoreho funkcionalita je rozsirena oproti JPA specifikacii. Metoda skonvertuje EntityManager, vrateny metodou getEntityManager().- Returns:
-
getEclipseLinkEntityManager
public static org.eclipse.persistence.jpa.JpaEntityManager getEclipseLinkEntityManager(Class<?> clazz) Vrati JpaEntityManager pre nazov DB spojenia ktory je nastaveny v danej classe cez anotaciu DataSource JpaEntityManager je EclipseLink-ove rozsirenie EntityManager-a, ktoreho funkcionalita je rozsirena oproti JPA specifikacii. Metoda skonvertuje EntityManager, vrateny metodou getEntityManager().- Returns:
-
getJpaClassNames
-
findByMatchingProperty
-
findFirstByMatchingProperty
-
findByProperties
-
findPaginatedAndSortedByProperties
public static <T> PaginatedBean<T> findPaginatedAndSortedByProperties(Class<T> clazz, org.eclipse.persistence.expressions.Expression filter, int page, int pageSize, String sortField, JpaSortOrderEnum sortOrder) -
findFirstByProperties
@SafeVarargs public static <T> T findFirstByProperties(Class<T> clazz, Pair<String, ? extends Object>... properties) -
findBy
-
findBy
-
batchDelete
-
delete
Vymaze podla ID jeden objekt- Parameters:
clazz
-id
-- Returns:
- true - ak vykonalo OK a false ak nastala vynimka
-
getAll
-
isJPADatasource
Urci, ci dane meno datasource je urcene pre JPA, je to len iwcm, alebo nazov obsahujuci jpa (je to takto kvoli rychlosti startu WJ a optimalizacii pamate)- Parameters:
name
-- Returns:
-
propertiesToExpression
-
covertPkToNumber
Ziska PK ako Long pre repository, alebo Integer pre standardne JPA- Type Parameters:
T
-- Parameters:
clazz
-id
-- Returns:
-
removePredicateWithName
public static void removePredicateWithName(String name, List<javax.persistence.criteria.Predicate> predicates) Removes predicate for field name from predicates list- Parameters:
name
-predicates
-
-