edu.northwestern.at.utils.db.hibernate
Class HibernatePersistenceManager

java.lang.Object
  extended by edu.northwestern.at.utils.db.hibernate.HibernatePersistenceManager
Direct Known Subclasses:
PersistenceManager

public class HibernatePersistenceManager
extends java.lang.Object

A Hibernate persistence manager.

This class encapsulates all of the base calls to the Hibernate persistence API.

The static init method must be called to initialize Hibernate before using the constructor to create any HibernatePersistenceManager objects.

Each persistence manager has its own Hibernate session. Hibernate sessions are not thread safe, so separate threads should use separate persistence managers.

The begin, commit, and rollback methods are used for transactions. Object creation, deletion, and mutation should be done inside transactions. For object use without mutation (plain old Java object graph navigation), it is not necessary to use transactions, or any of the other methods of this class.

The save and delete methods are used to save newly constructed objects and collections of objects (make them persistent) and to delete objects and collections of objects (rendering the copies of the objects in memory transient or non-persistent). Static convenience forms of the methods are called doSave and doDelete.

The load method fetches a persistent object given its "handle" (Java class and unique id). This may be a proxy object.

The get method fetches a persistent object given its "handle" (Java class and unique id). A get nominally never returns a proxy object, but we have observed that they do. Hence there appears to be no reliable method of converting a proxy object to a real object.

The refresh method refreshes a persistent object ignoring any copies in the cache.

The contains method checks if an object has been checked out in the context of the current thread's persistence manager. The corresponding static convenience method is doContains .

The clear method clears the Hibernate first-level cache. The evict methods clear the Hibernate second-level cache.

Several variants of the query method provide for running queries and retrieving results in a list. There are also static doQuery methods for performing queries using the persistence manager for the current thread. The countQuery methods provide for retrieving an integer count as the result of a query.

A thread-local variable holds the persistence manager for each thread, whicb is created as needed when doQuery is called. The static closePM method should be called at the end of the thread to close the persistence manager.

Most exceptions thrown by Hibernate are wrapped in our own PersistenceException exceptions and rethrown. Some of the static convenience methods absorb Hibernate exceptions and pass back null values or boolean values representing the success or failure of the persistence operation.


Field Summary
static int JDBC_BATCH_SIZE
          JDBC batch size.
protected  org.hibernate.Session session
          The Hibernate session.
protected static org.hibernate.SessionFactory sessionFactory
          The Hibernate session factory.
protected static boolean stackTracesEnabled
          True to enable stack trace output for static persistence methods.
protected  org.hibernate.Transaction t
          The current Hibernate transaction, or null if there is no transaction currently in progress.
protected static java.lang.ThreadLocal threadPM
          The thread-based persistence manager.
 
Constructor Summary
HibernatePersistenceManager()
          Creates a new persistence manager.
 
Method Summary
 void begin()
          Begins a transaction if one is not already in progress.
 void clear()
          Clear the first-level cache.
 void close()
          Closes the persistence manager.
static void closePM(HibernatePersistenceManager pm)
          Close a persistence manager.
 void commit()
          Commits a transaction if one is in progress.
 boolean contains(java.lang.Object obj)
          Check if an object is loaded in the current session.
 int countQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues)
          Perform count query.
 void delete(java.util.Collection collection)
          Deletes a collection of objects.
 void delete(java.lang.Object obj)
          Deletes an object.
 int deleteViaQuery(java.lang.String queryString)
          Delete objects via query.
 int deleteViaQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues)
          Delete objects via query.
 int deleteViaSQL(java.lang.String queryString)
          Delete objects via SQL query.
static void doClear()
          Clear the first-level cache.
static boolean doContains(java.lang.Object obj)
          Check if an object is loaded in the current session.
static int doCountQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues)
          Perform count query.
static boolean doDelete(java.util.Collection collection)
          Deletes a collection of objects.
static boolean doDelete(java.lang.Object obj)
          Deletes an object.
static void doEvict(java.lang.Class evictionClass)
          Clear all objects of the specified class from the second-level cache.
static void doEvict(java.lang.Object obj)
          Evict an object from the session cache.
static java.lang.Object doGet(java.lang.Class type, java.lang.Long id)
          Loads a persistent object by class and id.
static int doInsertViaSQL(java.lang.String insertString)
          Insert data via SQL.
static java.lang.Object doLoad(java.lang.Class type, java.lang.Long id)
          Loads a persistent object by class and id.
static java.util.List doQuery(java.lang.String queryString)
          Perform query.
static java.util.List doQuery(java.lang.String queryString, boolean cacheQuery)
          Perform query.
static java.util.List doQuery(java.lang.String queryString, int maxResults)
          Perform query.
static java.util.List doQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues)
          Perform query.
static java.util.List doQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery)
          Perform query.
static java.util.List doQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery, int maxResults)
          Perform query.
static void doRefresh(java.lang.Object obj)
          Refresh an object.
static boolean doSave(java.util.Collection collection)
          Saves a collection of objects.
static boolean doSave(java.lang.Object obj)
          Saves an object.
static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString)
          Perform scrollable query.
static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString, boolean cacheQuery)
          Perform scrollable query.
static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues)
          Perform scrollable query.
static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery)
          Perform scrollable query.
static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery, int maxResults)
          Perform scrollable query.
static boolean doUpdate(java.util.Collection collection)
          Updates a collection.
static boolean doUpdate(java.lang.Object obj)
          Updates an object.
static void enableStackTraces(boolean enableTraces)
          Enable or disable stack trace output for static methods.
 void evict(java.lang.Class evictionClass)
          Clear all objects of the specified class from the second-level cache.
 void evict(java.lang.Object obj)
          Evict an object from the session cache.
 void flush()
          Flushes current transaction state.
 java.lang.Object get(java.lang.Class type, java.lang.Long id)
          Loads a persistent object by class and id.
static int getBatchSize()
          Return the JDBC batch size.
 java.sql.Connection getConnection()
          Gets the JDBC connection.
 org.hibernate.connection.ConnectionProvider getConnectionProvider()
          Gets the connection provider.
static HibernatePersistenceManager getHPM()
          Get the current thread's persistence manager.
 org.hibernate.Session getSession()
          Get the session from this persistence manager.
static void init(java.lang.Class[] persistentClasses)
          Initializes Hibernate using the default configuration file.
static void init(java.lang.Class[] persistentClasses, boolean cache2)
          Initializes Hibernate using the default configuration file.
static void init(java.lang.String configFilePath, java.lang.Class[] persistentClasses)
          Initializes Hibernate using the "hibernate.properties" file.
static void init(java.lang.String url, java.lang.String username, java.lang.String password, java.lang.String configFilePath, java.lang.Class[] persistentClasses, boolean cache2)
          Initializes Hibernate.
 int insertViaSQL(java.lang.String insertString)
          Insert data via SQL.
 java.lang.Object load(java.lang.Class type, java.lang.Long id)
          Loads a persistent object by class and id.
 int performBatchInserts(java.lang.String[] insertStatements)
          Performs batch inserts using prepared MySQL insert statements.
 java.util.List query(java.lang.String queryString)
          Perform query.
 java.util.List query(java.lang.String queryString, boolean cacheQuery)
          Perform query.
 java.util.List query(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues)
          Perform query.
 java.util.List query(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery)
          Perform query.
 java.util.List query(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery, int maxResults)
          Perform query.
 void refresh(java.lang.Object obj)
          Refresh an object.
 void rollback()
          Rolls back a transaction if one is in progress.
 void save(java.util.Collection collection)
          Saves a collection of objects.
 void save(java.lang.Object obj)
          Saves an object (makes it persistent).
 org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString)
          Perform scrollable query.
 org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString, boolean cacheQuery)
          Perform scrollable query.
 org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues)
          Perform scrollable query.
 org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery)
          Perform scrollable query.
 org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery, int maxResults)
          Perform scrollable query.
 void setQueryParams(org.hibernate.Query query, java.lang.String[] paramNames, java.lang.Object[] paramValues, boolean cacheQuery, boolean singleResult, int maxResults)
          Set query parameters and values.
 void update(java.util.Collection collection)
          Updates collection of objects.
 void update(java.lang.Object obj)
          Updates an object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sessionFactory

protected static org.hibernate.SessionFactory sessionFactory
The Hibernate session factory.

Note that this field is static - there is only one session factory for the entire program.


session

protected org.hibernate.Session session
The Hibernate session.

Note that this field is not static - each HibernatePersistenceManager has its own private Hibernate session, generated by the factory when the persistence manager is constructed.


t

protected org.hibernate.Transaction t
The current Hibernate transaction, or null if there is no transaction currently in progress.


threadPM

protected static final java.lang.ThreadLocal threadPM
The thread-based persistence manager.


stackTracesEnabled

protected static boolean stackTracesEnabled
True to enable stack trace output for static persistence methods.


JDBC_BATCH_SIZE

public static final int JDBC_BATCH_SIZE
JDBC batch size.

See Also:
Constant Field Values
Constructor Detail

HibernatePersistenceManager

public HibernatePersistenceManager()
                            throws PersistenceException
Creates a new persistence manager.

Throws:
PersistenceException
Method Detail

init

public static void init(java.lang.String url,
                        java.lang.String username,
                        java.lang.String password,
                        java.lang.String configFilePath,
                        java.lang.Class[] persistentClasses,
                        boolean cache2)
                 throws PersistenceException
Initializes Hibernate.

Parameters:
url - URL for MySQL database, or null to use the "hibernate.properties" or "hibernate.cfg.xml" for setting the Hibernate parameters.
username - Username for MySQL database access. Ignored if url = null.
password - Password for MySQL database access. Ignored if url = null.
configFilePath - The full path to the configuration file. May be either a properties file or an xml file. Ignored if null.
persistentClasses - Array of persistent classes. Should not be null.
cache2 - true to use second level cache.
Throws:
PersistenceException

init

public static void init(java.lang.String configFilePath,
                        java.lang.Class[] persistentClasses)
                 throws PersistenceException
Initializes Hibernate using the "hibernate.properties" file.

Parameters:
configFilePath - The full path to the configuration file. May be either a properties file or an xml file. Ignored if null.
persistentClasses - Array of persistent classes. Should not be null.
Throws:
PersistenceException

init

public static void init(java.lang.Class[] persistentClasses,
                        boolean cache2)
                 throws PersistenceException
Initializes Hibernate using the default configuration file.

Parameters:
persistentClasses - Array of persistent classes. Should not be null.
cache2 - true to use second level cache.
Throws:
PersistenceException

init

public static void init(java.lang.Class[] persistentClasses)
                 throws PersistenceException
Initializes Hibernate using the default configuration file.

Parameters:
persistentClasses - Array of persistent classes. Should not be null.
Throws:
PersistenceException

getSession

public org.hibernate.Session getSession()
Get the session from this persistence manager.

Returns:
The session.

clear

public void clear()
Clear the first-level cache.


doClear

public static void doClear()
Clear the first-level cache.


getConnection

public java.sql.Connection getConnection()
                                  throws PersistenceException
Gets the JDBC connection.

Returns:
The JDBC connection.
Throws:
PersistenceException

contains

public boolean contains(java.lang.Object obj)
Check if an object is loaded in the current session.

Parameters:
obj - The object to check.
Returns:
true if the object is loaded in the current session, false otherwise.

doContains

public static boolean doContains(java.lang.Object obj)
Check if an object is loaded in the current session.

Parameters:
obj - The object to check.
Returns:
true if the object is loaded in the current session, false otherwise.

refresh

public void refresh(java.lang.Object obj)
Refresh an object.

Parameters:
obj - The object to refresh.

doRefresh

public static void doRefresh(java.lang.Object obj)
Refresh an object.

Parameters:
obj - The object to refresh.

evict

public void evict(java.lang.Class evictionClass)
           throws PersistenceException
Clear all objects of the specified class from the second-level cache.

Parameters:
evictionClass - The persistent class whose cached objects should be evicted.
Throws:
PersistenceException

doEvict

public static void doEvict(java.lang.Class evictionClass)
Clear all objects of the specified class from the second-level cache.

Parameters:
evictionClass - The persistent class whose cached objects should be evicted.

evict

public void evict(java.lang.Object obj)
           throws PersistenceException
Evict an object from the session cache.

Parameters:
obj - The object to evict.
Throws:
PersistenceException

doEvict

public static void doEvict(java.lang.Object obj)
Evict an object from the session cache.

Parameters:
obj - The object to evict.
Throws:
PersistenceException

close

public void close()
           throws PersistenceException
Closes the persistence manager.

You should close persistence managers when you are finished with them. Persistence managers may not be reused after they have been closed.

Throws:
PersistenceException

closePM

public static void closePM(HibernatePersistenceManager pm)
Close a persistence manager. Static convenience method.

Parameters:
pm - The persistence manager to close.

Any errors are thrown away.


begin

public void begin()
           throws PersistenceException
Begins a transaction if one is not already in progress.

Throws:
PersistenceException

commit

public void commit()
            throws PersistenceException
Commits a transaction if one is in progress.

Throws:
PersistenceException

flush

public void flush()
           throws PersistenceException
Flushes current transaction state.

Throws:
PersistenceException

rollback

public void rollback()
              throws PersistenceException
Rolls back a transaction if one is in progress.

Throws:
PersistenceException

save

public void save(java.lang.Object obj)
          throws PersistenceException
Saves an object (makes it persistent).

If a transaction is not already in progress, a new transaction is started and commited for the operation.

Parameters:
obj - The object.
Throws:
PersistenceException

save

public void save(java.util.Collection collection)
          throws PersistenceException
Saves a collection of objects.

If a transaction is not already in progress, a new transaction is started and committed for the operation.

Parameters:
collection - Collection of objects.
Throws:
PersistenceException

doSave

public static boolean doSave(java.lang.Object obj)
Saves an object.

If a transaction is not already in progress, a new transaction is started and committed for the operation.

Parameters:
obj - Object to save.
Returns:
true if objects saved, false otherwise.

doSave

public static boolean doSave(java.util.Collection collection)
Saves a collection of objects.

If a transaction is not already in progress, a new transaction is started and committed for the operation.

Parameters:
collection - Collection of objects.
Returns:
true if all objects saved, false otherwise.

delete

public void delete(java.lang.Object obj)
            throws PersistenceException
Deletes an object.

If a transaction is not already in progress, a new transaction is started and commited for the operation.

Parameters:
obj - The object.
Throws:
PersistenceException

delete

public void delete(java.util.Collection collection)
            throws PersistenceException
Deletes a collection of objects.

If a transaction is not already in progress, a new transaction is started and commited for the operation.

Parameters:
collection - Collection of objects.
Throws:
PersistenceException

doDelete

public static boolean doDelete(java.lang.Object obj)
Deletes an object.

If a transaction is not already in progress, a new transaction is started and committed for the operation.

Parameters:
obj - Object to delete.
Returns:
true if object deleted, false otherwise.

doDelete

public static boolean doDelete(java.util.Collection collection)
Deletes a collection of objects.

If a transaction is not already in progress, a new transaction is started and committed for the operation.

Parameters:
collection - Collection of objects to delete.
Returns:
true if all objects deleted, false otherwise.

getHPM

public static HibernatePersistenceManager getHPM()
                                          throws PersistenceException
Get the current thread's persistence manager.

Returns:
The current thread's persistence manager.

A new persistence manager for the current thread is created if it does not yet exist.

Throws:
PersistenceException

get

public java.lang.Object get(java.lang.Class type,
                            java.lang.Long id)
                     throws PersistenceException
Loads a persistent object by class and id.

Note that every model object has a unique persistent id of type Long. These id's are assigned by Hibernate and MySQL. The combination of a persistent object's Java type (class) and its id uniquely identifies the object. The returned object is never supposed to be a proxy object.

Parameters:
type - The object's class.
id - The object's id.
Returns:
The loaded object.
Throws:
PersistenceException

doGet

public static java.lang.Object doGet(java.lang.Class type,
                                     java.lang.Long id)
Loads a persistent object by class and id. Static convenience method.

Parameters:
type - The object's class.
id - The object's id.
Returns:
The loaded object.

load

public java.lang.Object load(java.lang.Class type,
                             java.lang.Long id)
                      throws PersistenceException
Loads a persistent object by class and id.

Note that every model object has a unique persistent id of type Long. These id's are assigned by Hibernate and MySQL. The combination of a persistent object's Java type (class) and its id uniquely identifies the object. The returned object may be a proxy object.

Parameters:
type - The object's class.
id - The object's id.
Returns:
The loaded object.
Throws:
PersistenceException

doLoad

public static java.lang.Object doLoad(java.lang.Class type,
                                      java.lang.Long id)
Loads a persistent object by class and id. Static convenience method.

Parameters:
type - The object's class.
id - The object's id.
Returns:
The loaded object.

update

public void update(java.lang.Object obj)
            throws PersistenceException
Updates an object.

Parameters:
obj - The persistent object to update on the database.
Throws:
PersistenceException

update

public void update(java.util.Collection collection)
            throws PersistenceException
Updates collection of objects.

Parameters:
collection - The collection containing persistence objects to update on the database.
Throws:
PersistenceException

doUpdate

public static boolean doUpdate(java.lang.Object obj)
Updates an object.

Parameters:
obj - The persistent object to update on the database.
Returns:
true if object updated, false otherwise.

doUpdate

public static boolean doUpdate(java.util.Collection collection)
Updates a collection.

Parameters:
collection - The collection containing persistence objects to update on the database.
Returns:
true if collection updated, false otherwise.

deleteViaQuery

public int deleteViaQuery(java.lang.String queryString,
                          java.lang.String[] paramNames,
                          java.lang.Object[] paramValues)
                   throws PersistenceException
Delete objects via query.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
Returns:
Count of objects deleted.
Throws:
PersistenceException

deleteViaQuery

public int deleteViaQuery(java.lang.String queryString)
                   throws PersistenceException
Delete objects via query.

Parameters:
queryString - The query string.
Returns:
Count of objects deleted.
Throws:
PersistenceException

deleteViaSQL

public int deleteViaSQL(java.lang.String queryString)
                 throws PersistenceException
Delete objects via SQL query.

Parameters:
queryString - The query string.
Returns:
Count of objects deleted.
Throws:
PersistenceException -

This method provides for executing a standard SQL "delete from" query. Until the Hibernate parser handles all queries and batch deletes correctly, this is the fastest way to perform batch deletes.


setQueryParams

public void setQueryParams(org.hibernate.Query query,
                           java.lang.String[] paramNames,
                           java.lang.Object[] paramValues,
                           boolean cacheQuery,
                           boolean singleResult,
                           int maxResults)
Set query parameters and values.

Parameters:
query - The query for which to set parameters and values.
paramNames - The query parameter names.
paramValues - The parameter values.
cacheQuery - True to cache the query.
singleResult - true if query will return single result.
maxResults - Maximum number of results to return. 0 = no limit.

query

public java.util.List query(java.lang.String queryString,
                            java.lang.String[] paramNames,
                            java.lang.Object[] paramValues,
                            boolean cacheQuery,
                            int maxResults)
                     throws PersistenceException
Perform query.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
cacheQuery - True to cache the query.
maxResults - Maximum number of results to return. 0 = no limit.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException -

Any parameter that is not of type String, Integer, Long, Boolean, or Collection is assumed to be an entity reference.


query

public java.util.List query(java.lang.String queryString,
                            java.lang.String[] paramNames,
                            java.lang.Object[] paramValues,
                            boolean cacheQuery)
                     throws PersistenceException
Perform query.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
cacheQuery - True to cache the query.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException -

Any parameter that is not of type String, Integer, Long, Boolean, or Collection is assumed to be an entity reference.


query

public java.util.List query(java.lang.String queryString,
                            java.lang.String[] paramNames,
                            java.lang.Object[] paramValues)
                     throws PersistenceException
Perform query.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException -

Any parameter that is not of type String, Integer, or Long is assumed to be an entity reference.


doQuery

public static java.util.List doQuery(java.lang.String queryString,
                                     java.lang.String[] paramNames,
                                     java.lang.Object[] paramValues,
                                     boolean cacheQuery,
                                     int maxResults)
Perform query. Static convenience method.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
cacheQuery - True to cache query.
maxResults - Maximum number of result rows to retrieve.
Returns:
List of objects resulting from query, or null if query failed.

doQuery

public static java.util.List doQuery(java.lang.String queryString,
                                     java.lang.String[] paramNames,
                                     java.lang.Object[] paramValues,
                                     boolean cacheQuery)
Perform query. Static convenience method.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
cacheQuery - True to cache query.
Returns:
List of objects resulting from query, or null if query failed.

doQuery

public static java.util.List doQuery(java.lang.String queryString,
                                     java.lang.String[] paramNames,
                                     java.lang.Object[] paramValues)
Perform query. Static convenience method.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
Returns:
List of objects resulting from query, or null if query failed.

query

public java.util.List query(java.lang.String queryString,
                            boolean cacheQuery)
                     throws PersistenceException
Perform query.

Parameters:
queryString - The query string.
cacheQuery - True to cache query.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException

query

public java.util.List query(java.lang.String queryString)
                     throws PersistenceException
Perform query.

Parameters:
queryString - The query string.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException

doQuery

public static java.util.List doQuery(java.lang.String queryString,
                                     boolean cacheQuery)
Perform query. Static convenience method.

Parameters:
queryString - The query string.
cacheQuery - True to cache the query results.
Returns:
List of objects resulting from query, or null if query failed.

doQuery

public static java.util.List doQuery(java.lang.String queryString,
                                     int maxResults)
Perform query. Static convenience method.

Parameters:
queryString - The query string.
maxResults - Maximum number of results.
Returns:
List of objects resulting from query, or null if query failed.

doQuery

public static java.util.List doQuery(java.lang.String queryString)
Perform query. Static convenience method.

Parameters:
queryString - The query string.
Returns:
List of objects resulting from query, or null if query failed.

countQuery

public int countQuery(java.lang.String queryString,
                      java.lang.String[] paramNames,
                      java.lang.Object[] paramValues)
               throws PersistenceException
Perform count query.

Parameters:
queryString - The query string. A "select count(*) " phrase is added to the front, so DO NOT specify this in the input query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
Returns:
Count returned by query. 0 if the query fails.
Throws:
PersistenceException

doCountQuery

public static int doCountQuery(java.lang.String queryString,
                               java.lang.String[] paramNames,
                               java.lang.Object[] paramValues)
Perform count query. Static convenience method.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
Returns:
Count returned by query. 0 if the query fails.

insertViaSQL

public int insertViaSQL(java.lang.String insertString)
                 throws PersistenceException
Insert data via SQL.

Parameters:
insertString - The SQL insert string.
Returns:
Count of objects inserted.
Throws:
PersistenceException -

This method provides for executing a standard SQL "insert" query. This is much faster than using standard Hibernate facilities for large batches of inserts.


doInsertViaSQL

public static int doInsertViaSQL(java.lang.String insertString)
Insert data via SQL.

Parameters:
insertString - The SQL insert string.
Returns:
Count of objects inserted.

scrollableQuery

public org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString,
                                                       java.lang.String[] paramNames,
                                                       java.lang.Object[] paramValues,
                                                       boolean cacheQuery,
                                                       int maxResults)
                                                throws PersistenceException
Perform scrollable query.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
cacheQuery - True to cache the query.
maxResults - Maximum number of results to return. 0 = no limit.
Returns:
Scrollable query result, or null if query failed.
Throws:
PersistenceException -

Any parameter that is not of type String, Integer, Long, Boolean, or Collection is assumed to be an entity reference.


scrollableQuery

public org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString,
                                                       java.lang.String[] paramNames,
                                                       java.lang.Object[] paramValues,
                                                       boolean cacheQuery)
                                                throws PersistenceException
Perform scrollable query.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
cacheQuery - True to cache the query.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException -

Any parameter that is not of type String, Integer, Long, Boolean, or Collection is assumed to be an entity reference.


scrollableQuery

public org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString,
                                                       java.lang.String[] paramNames,
                                                       java.lang.Object[] paramValues)
                                                throws PersistenceException
Perform scrollable query.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException -

Any parameter that is not of type String, Integer, or Long is assumed to be an entity reference.


doScrollableQuery

public static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString,
                                                                java.lang.String[] paramNames,
                                                                java.lang.Object[] paramValues,
                                                                boolean cacheQuery,
                                                                int maxResults)
Perform scrollable query. Static convenience method.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
cacheQuery - True to cache query.
maxResults - Maximum number of result rows to retrieve.
Returns:
List of objects resulting from query, or null if query failed.

doScrollableQuery

public static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString,
                                                                java.lang.String[] paramNames,
                                                                java.lang.Object[] paramValues,
                                                                boolean cacheQuery)
Perform scrollable query. Static convenience method.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
cacheQuery - True to cache query.
Returns:
List of objects resulting from query, or null if query failed.

doScrollableQuery

public static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString,
                                                                java.lang.String[] paramNames,
                                                                java.lang.Object[] paramValues)
Perform scrollable query. Static convenience method.

Parameters:
queryString - The query string.
paramNames - Parameter names used in the query.
paramValues - Parameter values for each paramName.
Returns:
List of objects resulting from query, or null if query failed.

scrollableQuery

public org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString,
                                                       boolean cacheQuery)
                                                throws PersistenceException
Perform scrollable query.

Parameters:
queryString - The query string.
cacheQuery - True to cache query.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException

scrollableQuery

public org.hibernate.ScrollableResults scrollableQuery(java.lang.String queryString)
                                                throws PersistenceException
Perform scrollable query.

Parameters:
queryString - The query string.
Returns:
List of objects resulting from query, or null if query failed.
Throws:
PersistenceException

doScrollableQuery

public static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString,
                                                                boolean cacheQuery)
Perform scrollable query. Static convenience method.

Parameters:
queryString - The query string.
cacheQuery - True to cache the query results.
Returns:
List of objects resulting from query, or null if query failed.

doScrollableQuery

public static org.hibernate.ScrollableResults doScrollableQuery(java.lang.String queryString)
Perform scrollable query. Static convenience method.

Parameters:
queryString - The query string.
Returns:
List of objects resulting from query, or null if query failed.

enableStackTraces

public static void enableStackTraces(boolean enableTraces)
Enable or disable stack trace output for static methods.

Parameters:
enableTraces - true to enable tracing.

getBatchSize

public static int getBatchSize()
Return the JDBC batch size.

Returns:
The JDBC batch size.

getConnectionProvider

public org.hibernate.connection.ConnectionProvider getConnectionProvider()
Gets the connection provider.

Returns:
The connection provider.

performBatchInserts

public int performBatchInserts(java.lang.String[] insertStatements)
                        throws PersistenceException
Performs batch inserts using prepared MySQL insert statements.

Parameters:
insertStatements - String array of MySQL insert statements.
Returns:
count of inserts performed.
Throws:
PersistenceException
WordHoardError