Class JpaTools

java.lang.Object
sk.iway.iwcm.system.jpa.JpaTools

public class JpaTools extends Object
JpaTools.java - podporne nastroje pre JPA
  • Constructor Details

    • JpaTools

      public JpaTools()
  • Method Details

    • getEntityManager

      public static javax.persistence.EntityManager getEntityManager(String dbName)
      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

      public static List<String> getJpaClassNames(String rootUrl)
    • findByMatchingProperty

      public static <T> List<T> findByMatchingProperty(Class<T> clazz, String propertyName, Object propertyValue)
    • findFirstByMatchingProperty

      public static <T> T findFirstByMatchingProperty(Class<T> clazz, String propertyName, Object propertyValue)
    • findByProperties

      @SafeVarargs public static <T> List<T> findByProperties(Class<T> clazz, Pair<String,? extends Object>... properties)
    • 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

      public static <T> List<T> findBy(Class<T> clazz, JpaTools.Condition... conditions)
    • findBy

      public static <T> List<T> findBy(Class<T> clazz, Integer maxRows, JpaTools.Condition... conditions)
    • batchDelete

      public static <T> void batchDelete(Class<T> clazz, int... ids)
    • delete

      public static <T> boolean delete(Class<T> clazz, int id)
      Vymaze podla ID jeden objekt
      Parameters:
      clazz -
      id -
      Returns:
      true - ak vykonalo OK a false ak nastala vynimka
    • getAll

      public static <T> List<T> getAll(Class<T> clazz)
    • isJPADatasource

      public 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)
      Parameters:
      name -
      Returns:
    • propertiesToExpression

      public static org.eclipse.persistence.expressions.Expression propertiesToExpression(org.eclipse.persistence.expressions.ExpressionBuilder builder, Pair<String,? extends Object>... properties)
    • covertPkToNumber

      public static <T> Number covertPkToNumber(Class<T> clazz, int id)
      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 -