public class QueryUtils extends Object
Session
directly.Modifier and Type | Field and Description |
---|---|
static String |
copyright |
static String |
FAKE_SELECT_PREFIX |
protected static Pattern |
FROM_PATTERN |
protected static org.slf4j.Logger |
logger |
protected static String |
WHERE_STRING |
Constructor and Description |
---|
QueryUtils() |
Modifier and Type | Method and Description |
---|---|
static void |
commit(Persistence persistence,
String databaseName)
Cleanly commits the current (for this thread) transaction of the given database.
|
protected static net.sf.jsqlparser.expression.Alias |
getEntityAlias(String entityName,
net.sf.jsqlparser.statement.select.PlainSelect query) |
static Object |
getObjectByPk(Persistence persistence,
String database,
String entityName,
Serializable pk)
Loads an object by primary key.
|
static Object |
getObjectByPk(Persistence persistence,
String database,
String entityName,
Serializable pk,
String hqlQueryString,
Object rootObject)
Loads an object by primary key.
|
static Object |
getObjectByPk(Persistence persistence,
Table baseTable,
Serializable pkObject)
Loads an object by primary key.
|
static Object |
getObjectByPk(Persistence persistence,
Table baseTable,
Serializable pkObject,
String query,
Object rootObject)
Loads an object by primary key.
|
static Object |
getObjectByPk(Session session,
TableAccessor table,
Serializable pk)
Loads an object by primary key.
|
static List<Object> |
getObjects(Session session,
String queryString,
Integer firstResult,
Integer maxResults)
Runs a query against the database.
|
static List<Object> |
getObjects(Session session,
String queryString,
Object rootObject,
Integer firstResult,
Integer maxResults)
Runs a query against the database.
|
static List<Object> |
getObjects(Session session,
String queryString,
TableCriteria criteria,
Object rootObject,
Integer firstResult,
Integer maxResults)
Runs a query against the database.
|
static List<Object> |
getObjects(Session session,
TableCriteria criteria,
Integer firstResult,
Integer maxResults)
Runs a query, expressed as
TableCriteria , against the database. |
static QueryStringWithParameters |
getQueryStringWithParametersForCriteria(TableCriteria criteria)
Tranforms a
TableCriteria to a query string with an associated array of parameters. |
static QueryStringWithParameters |
getQueryStringWithParametersForCriteria(TableCriteria criteria,
String alias,
int initialParameterIndex)
Tranforms a
TableCriteria to a query string with an associated array of parameters. |
static List<Object> |
getRelatedObjects(Persistence persistence,
String databaseName,
String entityName,
Object obj,
String oneToManyRelationshipName)
Navigates a ...
|
static Table |
getTableFromQueryString(Database database,
String queryString)
Extracts the name of the main entity from a HQL query string, i.e. the first entity in the
from clause.
|
static QueryStringWithParameters |
mergeQuery(String queryString,
TableCriteria criteria,
Object rootObject)
Merges a HQL query string with a
TableCriteria object representing a search. |
static net.sf.jsqlparser.statement.select.PlainSelect |
parseQuery(net.sf.jsqlparser.parser.CCJSqlParserManager parserManager,
String query) |
protected static String |
processTextMatchMode(TextMatchMode textMatchMode,
String value) |
static List<Object> |
runHqlQuery(Session session,
String queryString,
Object[] parameters)
Runs a HQL query against the database.
|
static List<Object> |
runHqlQuery(Session session,
String queryString,
Object[] parameters,
Integer firstResult,
Integer maxResults)
Runs a HQL query against the database.
|
static List<Object[]> |
runSql(Session session,
String sql)
Runs a SQL query against a session.
|
static List<Object[]> |
runSql(Session session,
String queryString,
Object[] parameters)
Runs a SQL query against a session.
|
public static final String copyright
protected static final String WHERE_STRING
protected static final Pattern FROM_PATTERN
protected static final org.slf4j.Logger logger
public static final String FAKE_SELECT_PREFIX
public static List<Object[]> runSql(Session session, String sql)
OgnlSqlFormat
, so it can
access values from the OGNL context.session
- the sessionsql
- the query stringpublic static List<Object[]> runSql(Session session, String queryString, Object[] parameters)
PreparedStatement
.session
- the sessionqueryString
- the queryparameters
- parameters to substitute in the querypublic static List<Object> getObjects(Session session, TableCriteria criteria, @Nullable Integer firstResult, @Nullable Integer maxResults)
TableCriteria
, against the database.session
- the sessioncriteria
- the search criteriafirstResult
- index of the first result to returnmaxResults
- maximum number of results to returnmaxResults
results from the querypublic static List<Object> getObjects(Session session, String queryString, Object rootObject, @Nullable Integer firstResult, @Nullable Integer maxResults)
OgnlSqlFormat
, so it can
access values from the OGNL context, as well as from an (optional) root object.session
- the sessionqueryString
- the queryrootObject
- the root object passed to the ognl evaluator (can be null).firstResult
- index of the first result to returnmaxResults
- maximum number of results to returnmaxResults
results from the querypublic static List<Object> getObjects(Session session, String queryString, @Nullable Integer firstResult, @Nullable Integer maxResults)
OgnlSqlFormat
, so it can
access values from the OGNL context.session
- the sessionqueryString
- the queryfirstResult
- index of the first result to returnmaxResults
- maximum number of results to returnmaxResults
results from the querypublic static QueryStringWithParameters getQueryStringWithParametersForCriteria(TableCriteria criteria)
TableCriteria
to a query string with an associated array of parameters.criteria
- the criteria.public static QueryStringWithParameters getQueryStringWithParametersForCriteria(@Nullable TableCriteria criteria, @Nullable String alias, int initialParameterIndex)
TableCriteria
to a query string with an associated array of parameters.criteria
- the criteria.alias
- the alias to use for the main entity.protected static String processTextMatchMode(TextMatchMode textMatchMode, String value)
public static Table getTableFromQueryString(Database database, String queryString)
database
- the database containing the table.queryString
- the query to analyze.public static List<Object> getObjects(Session session, String queryString, TableCriteria criteria, @Nullable Object rootObject, @Nullable Integer firstResult, @Nullable Integer maxResults)
TableCriteria
object plus a
query string to be merged with it (the typical case of a search in a crud defined by a query).
The query string is processed with an OgnlSqlFormat
, so it can access values from the OGNL context,
as well as from an (optional) root object.session
- the sessionqueryString
- the querycriteria
- the search criteria to merge with the query.rootObject
- the root object passed to the ognl evaluator (can be null).firstResult
- index of the first result to returnmaxResults
- maximum number of results to returnmaxResults
results from the querypublic static QueryStringWithParameters mergeQuery(String queryString, @Nullable TableCriteria criteria, Object rootObject)
TableCriteria
object representing a search. The query string
is processed with an OgnlSqlFormat
, so it can access values from the OGNL context, as well as
from an (optional) root object.queryString
- the base querycriteria
- the criteria to merge with the queryrootObject
- the OGNL root object (can be null)public static net.sf.jsqlparser.statement.select.PlainSelect parseQuery(net.sf.jsqlparser.parser.CCJSqlParserManager parserManager, String query) throws net.sf.jsqlparser.JSQLParserException
net.sf.jsqlparser.JSQLParserException
public static List<Object> runHqlQuery(Session session, String queryString, @Nullable Object[] parameters)
session
- the sessionqueryString
- the queryparameters
- the query parametersrunHqlQuery(Session, String, Object[], Integer, Integer)
public static List<Object> runHqlQuery(Session session, String queryString, @Nullable Object[] parameters, @Nullable Integer firstResult, @Nullable Integer maxResults)
session
- the sessionqueryString
- the queryparameters
- the query parametersfirstResult
- index of the first result to returnmaxResults
- maximum number of results to returnrunHqlQuery(Session, String, Object[], Integer, Integer)
public static Object getObjectByPk(Persistence persistence, String database, String entityName, Serializable pk)
persistence
- the persistence objectdatabase
- the database (connection provider) to useentityName
- the name of the entity to load - usually the normalized (lowercased, etc.) table name.pk
- the primary key object. Might be an atomic value (String, Integer, etc.) for single-column primary
keys, or a composite object for multi-column primary keys.public static Object getObjectByPk(Session session, TableAccessor table, Serializable pk)
session
- the Hibernate sessiontable
- the table where to load the object frompk
- the primary key object. Might be an atomic value (String, Integer, etc.) for single-column primary
keys, or a composite object for multi-column primary keys.public static Object getObjectByPk(Persistence persistence, Table baseTable, Serializable pkObject)
persistence
- the persistence objectbaseTable
- the table to querypkObject
- the primary key object.public static Object getObjectByPk(Persistence persistence, Table baseTable, Serializable pkObject, String query, Object rootObject)
persistence
- the persistence objectbaseTable
- the table to load frompkObject
- the primary key objectquery
- the query (where condition) that the object must fulfillrootObject
- the OGNL root object against which to evaluate the query string.public static Object getObjectByPk(Persistence persistence, String database, String entityName, Serializable pk, String hqlQueryString, Object rootObject)
persistence
- the persistence objectdatabase
- the database (connection provider)entityName
- the name of the entity to loadpk
- the primary key objecthqlQueryString
- the query (where condition) that the object must fulfillrootObject
- the OGNL root object against which to evaluate the query string.protected static net.sf.jsqlparser.expression.Alias getEntityAlias(String entityName, net.sf.jsqlparser.statement.select.PlainSelect query)
public static void commit(Persistence persistence, String databaseName)
persistence
- the persistence objectdatabaseName
- the name of the database (connection provider)public static List<Object> getRelatedObjects(Persistence persistence, String databaseName, String entityName, Object obj, String oneToManyRelationshipName)
persistence
- the persistence objectdatabaseName
- the name of the database (connection provider)entityName
- the type (entity name) of the master objectobj
- the master objectoneToManyRelationshipName
- the name of the relationship to navigate