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 interfacePodmienka na vyhladanie objektov pomocou metody "findBy". -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> voidbatchDelete(Class<T> clazz, int... ids) static <T> NumbercovertPkToNumber(Class<T> clazz, int id) Ziska PK ako Long pre repository, alebo Integer pre standardne JPAstatic <T> booleanVymaze 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> TfindFirstByMatchingProperty(Class<T> clazz, String propertyName, Object propertyValue) static <T> TfindFirstByProperties(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.JpaEntityManagerVrati 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.JpaEntityManagergetEclipseLinkEntityManager(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.JpaEntityManagergetEclipseLinkEntityManager(String dbName) Vrati JpaEntityManager pre zadany nazov DB spojenia.static javax.persistence.EntityManagerVrati EntityManager pre defaultny nazov DB spojenia ("iwcm")static javax.persistence.EntityManagergetEntityManager(String dbName) Vrati EntityManager pre zadany nazov DB spojenia (v povodnom JPA to je persistenceUnit)getJpaClassNames(String rootUrl) static org.eclipse.persistence.jpa.JpaEntityManagergetSpringEntityManager(Class<?> clazz) Return JpaEntityManager for given class.static booleanisJPADatasource(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.ExpressionpropertiesToExpression(org.eclipse.persistence.expressions.ExpressionBuilder builder, Pair<String, ? extends Object>... properties) static voidremovePredicateWithName(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-
-
getSpringEntityManager
Return JpaEntityManager for given class.- Parameters:
clazz-- Returns:
-