Class PanacheJpaUtil

java.lang.Object
io.quarkus.panache.hibernate.common.runtime.PanacheJpaUtil

public class PanacheJpaUtil extends Object
  • Field Details

    • SELECT_PATTERN

      static final Pattern SELECT_PATTERN
    • FROM_PATTERN

      static final Pattern FROM_PATTERN
    • FETCH_PATTERN

      static final Pattern FETCH_PATTERN
    • LONE_SELECT_PATTERN

      static final Pattern LONE_SELECT_PATTERN
    • WITH_PATTERN

      static final Pattern WITH_PATTERN
  • Constructor Details

    • PanacheJpaUtil

      public PanacheJpaUtil()
  • Method Details

    • getFastCountQuery

      public static String getFastCountQuery(String query)
      This turns an HQL (already expanded from Panache-QL) query into a count query, using text manipulation if we can, because it's faster, or fall back to using the ORM HQL parser in getCountQueryUsingParser(String)
    • getCountQueryUsingParser

      public static String getCountQueryUsingParser(String query)
      This turns an HQL (already expanded from Panache-QL) query into a count query, using the ORM HQL parser. Slow version, see getFastCountQuery(String) for the fast version.
    • getEntityName

      public static String getEntityName(Class<?> entityClass)
    • trimForAnalysis

      public static String trimForAnalysis(String query)
      Removes \n, \r and outside spaces, and turns to lower case. DO NOT USE the result to pass it on to ORM, because the query is likely to be invalid since we replace newlines even if they are in quoted strings. This is only useful to analyse the start of the query for quick processing. NEVER use this to pass it to the DB or to replace user queries.
    • createFindQuery

      public static String createFindQuery(Class<?> entityClass, String query, int paramCount)
    • isNamedQuery

      public static boolean isNamedQuery(String query)
    • createCountQuery

      public static String createCountQuery(Class<?> entityClass, String query, int paramCount)
    • createUpdateQuery

      public static String createUpdateQuery(Class<?> entityClass, String query, int paramCount)
    • createDeleteQuery

      public static String createDeleteQuery(Class<?> entityClass, String query, int paramCount)
    • toOrderBy

      public static String toOrderBy(Sort sort)