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 jakarta.persistence.EntityManagerVrati EntityManager pre defaultny nazov DB spojenia ("iwcm")static jakarta.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 legacy JPA bootstrap.static org.eclipse.persistence.expressions.ExpressionpropertiesToExpression(org.eclipse.persistence.expressions.ExpressionBuilder builder, Pair<String, ? extends Object>... properties) static voidremovePredicateWithName(String name, List<jakarta.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 jakarta.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 legacy JPA bootstrap. Je to iwcm alebo nazov obsahujuci jpa, okrem rag_jpa, ktory ma samostatnu Spring konfiguraciu.- 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<jakarta.persistence.criteria.Predicate> predicates) Removes predicate for field name from predicates list- Parameters:
name-predicates-
-
getSpringEntityManager
Return JpaEntityManager for given class.- Parameters:
clazz-- Returns:
-