Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.hibernate
Interface Query  view Query download Query.java

All Known Subinterfaces:
SQLQuery

public interface Query

An object-oriented representation of a Hibernate query. A Query instance is obtained by calling Session.createQuery(). This interface exposes some extra functionality beyond that provided by Session.iterate() and Session.find():


Named query parameters are tokens of the form :name in the query string. A value is bound to the integer parameter :foo by calling

setParameter("foo", foo, Hibernate.INTEGER);

for example. A name may appear multiple times in the query string.

JDBC-style ? parameters are also supported. To bind a value to a JDBC-style parameter use a set method that accepts an int positional argument (numbered from zero, contrary to JDBC).

You may not mix and match JDBC-style parameters and named parameters in the same query.

Queries are executed by calling list(), scroll() or iterate(). A query may be re-executed by subsequent invocations. Its lifespan is, however, bounded by the lifespan of the Session that created it.

Implementors are not intended to be threadsafe.


Method Summary
 int executeUpdate()
          Execute the update or delete statement.
 java.lang.String[] getNamedParameters()
          Return the names of all named parameters of the query.
 java.lang.String getQueryString()
          Get the query string.
 java.lang.String[] getReturnAliases()
          Return the HQL select clause aliases (if any)
 org.hibernate.type.Type[] getReturnTypes()
          Return the Hibernate types of the query result set.
 java.util.Iterator iterate()
          Return the query results as an Iterator.
 java.util.List list()
          Return the query results as a List.
 ScrollableResults scroll()
          Return the query results as ScrollableResults.
 ScrollableResults scroll(ScrollMode scrollMode)
          Return the query results as ScrollableResults.
 Query setBigDecimal(int position, java.math.BigDecimal number)
           
 Query setBigDecimal(java.lang.String name, java.math.BigDecimal number)
           
 Query setBigInteger(int position, java.math.BigInteger number)
           
 Query setBigInteger(java.lang.String name, java.math.BigInteger number)
           
 Query setBinary(int position, byte[] val)
           
 Query setBinary(java.lang.String name, byte[] val)
           
 Query setBoolean(int position, boolean val)
           
 Query setBoolean(java.lang.String name, boolean val)
           
 Query setByte(int position, byte val)
           
 Query setByte(java.lang.String name, byte val)
           
 Query setCacheable(boolean cacheable)
          Enable caching of this query result set.
 Query setCacheMode(CacheMode cacheMode)
          Override the current session cache mode, just for this query.
 Query setCacheRegion(java.lang.String cacheRegion)
          Set the name of the cache region.
 Query setCalendar(int position, java.util.Calendar calendar)
           
 Query setCalendar(java.lang.String name, java.util.Calendar calendar)
           
 Query setCalendarDate(int position, java.util.Calendar calendar)
           
 Query setCalendarDate(java.lang.String name, java.util.Calendar calendar)
           
 Query setCharacter(int position, char val)
           
 Query setCharacter(java.lang.String name, char val)
           
 Query setComment(java.lang.String comment)
          Add a comment to the generated SQL.
 Query setDate(int position, java.util.Date date)
           
 Query setDate(java.lang.String name, java.util.Date date)
           
 Query setDouble(int position, double val)
           
 Query setDouble(java.lang.String name, double val)
           
 Query setEntity(int position, java.lang.Object val)
          Bind an instance of a mapped persistent class to a JDBC-style query parameter.
 Query setEntity(java.lang.String name, java.lang.Object val)
          Bind an instance of a mapped persistent class to a named query parameter.
 Query setFetchSize(int fetchSize)
          Set a fetch size for the underlying JDBC query.
 Query setFirstResult(int firstResult)
          Set the first row to retrieve.
 Query setFloat(int position, float val)
           
 Query setFloat(java.lang.String name, float val)
           
 Query setFlushMode(FlushMode flushMode)
          Override the current session flush mode, just for this query.
 Query setInteger(int position, int val)
           
 Query setInteger(java.lang.String name, int val)
           
 Query setLocale(int position, java.util.Locale locale)
           
 Query setLocale(java.lang.String name, java.util.Locale locale)
           
 Query setLockMode(java.lang.String alias, LockMode lockMode)
          Set the lockmode for the objects idententified by the given alias that appears in the FROM clause.
 Query setLong(int position, long val)
           
 Query setLong(java.lang.String name, long val)
           
 Query setMaxResults(int maxResults)
          Set the maximum number of rows to retrieve.
 Query setParameter(int position, java.lang.Object val)
          Bind a value to a JDBC-style query parameter, guessing the Hibernate type from the class of the given object.
 Query setParameter(int position, java.lang.Object val, org.hibernate.type.Type type)
          Bind a value to a JDBC-style query parameter.
 Query setParameter(java.lang.String name, java.lang.Object val)
          Bind a value to a named query parameter, guessing the Hibernate type from the class of the given object.
 Query setParameter(java.lang.String name, java.lang.Object val, org.hibernate.type.Type type)
          Bind a value to a named query parameter.
 Query setParameterList(java.lang.String name, java.util.Collection vals)
          Bind multiple values to a named query parameter, guessing the Hibernate type from the class of the first object in the collection.
 Query setParameterList(java.lang.String name, java.util.Collection vals, org.hibernate.type.Type type)
          Bind multiple values to a named query parameter.
 Query setParameterList(java.lang.String name, java.lang.Object[] vals)
          Bind multiple values to a named query parameter, guessing the Hibernate type from the class of the first object in the array.
 Query setParameterList(java.lang.String name, java.lang.Object[] vals, org.hibernate.type.Type type)
          Bind multiple values to a named query parameter.
 Query setParameters(java.lang.Object[] values, org.hibernate.type.Type[] types)
          Bind values and types to positional parameters.
 Query setProperties(java.lang.Object bean)
          Bind the property values of the given bean to named parameters of the query, matching property names with parameter names and mapping property types to Hibernate types using hueristics.
 Query setReadOnly(boolean readOnly)
          Entities retrieved by this query will be loaded in a read-only mode where Hibernate will never dirty-check them or make changes persistent.
 Query setResultTransformer(org.hibernate.transform.ResultTransformer transformer)
          Set a strategy for handling the query results.
 Query setSerializable(int position, java.io.Serializable val)
           
 Query setSerializable(java.lang.String name, java.io.Serializable val)
           
 Query setShort(int position, short val)
           
 Query setShort(java.lang.String name, short val)
           
 Query setString(int position, java.lang.String val)
           
 Query setString(java.lang.String name, java.lang.String val)
           
 Query setText(int position, java.lang.String val)
           
 Query setText(java.lang.String name, java.lang.String val)
           
 Query setTime(int position, java.util.Date date)
           
 Query setTime(java.lang.String name, java.util.Date date)
           
 Query setTimeout(int timeout)
          Set a timeout for the underlying JDBC query.
 Query setTimestamp(int position, java.util.Date date)
           
 Query setTimestamp(java.lang.String name, java.util.Date date)
           
 java.lang.Object uniqueResult()
          Convenience method to return a single instance that matches the query, or null if the query returns no results.
 

Method Detail

getQueryString

public java.lang.String getQueryString()
Get the query string.


getReturnTypes

public org.hibernate.type.Type[] getReturnTypes()
                                         throws HibernateException
Return the Hibernate types of the query result set.


getReturnAliases

public java.lang.String[] getReturnAliases()
                                    throws HibernateException
Return the HQL select clause aliases (if any)


getNamedParameters

public java.lang.String[] getNamedParameters()
                                      throws HibernateException
Return the names of all named parameters of the query.


iterate

public java.util.Iterator iterate()
                           throws HibernateException
Return the query results as an Iterator. If the query contains multiple results pre row, the results are returned in an instance of Object[].

Entities returned as results are initialized on demand. The first SQL query returns identifiers only.


scroll

public ScrollableResults scroll()
                         throws HibernateException
Return the query results as ScrollableResults. The scrollability of the returned results depends upon JDBC driver support for scrollable ResultSets.


scroll

public ScrollableResults scroll(ScrollMode scrollMode)
                         throws HibernateException
Return the query results as ScrollableResults. The scrollability of the returned results depends upon JDBC driver support for scrollable ResultSets.


list

public java.util.List list()
                    throws HibernateException
Return the query results as a List. If the query contains multiple results pre row, the results are returned in an instance of Object[].


uniqueResult

public java.lang.Object uniqueResult()
                              throws HibernateException
Convenience method to return a single instance that matches the query, or null if the query returns no results.


executeUpdate

public int executeUpdate()
                  throws HibernateException
Execute the update or delete statement.

The semantics are compliant with the ejb3 Query.executeUpdate() method.


setMaxResults

public Query setMaxResults(int maxResults)
Set the maximum number of rows to retrieve. If not set, there is no limit to the number of rows retrieved.


setFirstResult

public Query setFirstResult(int firstResult)
Set the first row to retrieve. If not set, rows will be retrieved beginnning from row 0.


setReadOnly

public Query setReadOnly(boolean readOnly)
Entities retrieved by this query will be loaded in a read-only mode where Hibernate will never dirty-check them or make changes persistent.


setCacheable

public Query setCacheable(boolean cacheable)
Enable caching of this query result set.


setCacheRegion

public Query setCacheRegion(java.lang.String cacheRegion)
Set the name of the cache region.


setTimeout

public Query setTimeout(int timeout)
Set a timeout for the underlying JDBC query.


setFetchSize

public Query setFetchSize(int fetchSize)
Set a fetch size for the underlying JDBC query.


setLockMode

public Query setLockMode(java.lang.String alias,
                         LockMode lockMode)
Set the lockmode for the objects idententified by the given alias that appears in the FROM clause.


setComment

public Query setComment(java.lang.String comment)
Add a comment to the generated SQL.


setFlushMode

public Query setFlushMode(FlushMode flushMode)
Override the current session flush mode, just for this query.


setCacheMode

public Query setCacheMode(CacheMode cacheMode)
Override the current session cache mode, just for this query.


setParameter

public Query setParameter(int position,
                          java.lang.Object val,
                          org.hibernate.type.Type type)
Bind a value to a JDBC-style query parameter.


setParameter

public Query setParameter(java.lang.String name,
                          java.lang.Object val,
                          org.hibernate.type.Type type)
Bind a value to a named query parameter.


setParameter

public Query setParameter(int position,
                          java.lang.Object val)
                   throws HibernateException
Bind a value to a JDBC-style query parameter, guessing the Hibernate type from the class of the given object.


setParameter

public Query setParameter(java.lang.String name,
                          java.lang.Object val)
                   throws HibernateException
Bind a value to a named query parameter, guessing the Hibernate type from the class of the given object.


setParameters

public Query setParameters(java.lang.Object[] values,
                           org.hibernate.type.Type[] types)
                    throws HibernateException
Bind values and types to positional parameters.


setParameterList

public Query setParameterList(java.lang.String name,
                              java.util.Collection vals,
                              org.hibernate.type.Type type)
                       throws HibernateException
Bind multiple values to a named query parameter. This is useful for binding a list of values to an expression such as foo.bar in (:value_list).


setParameterList

public Query setParameterList(java.lang.String name,
                              java.util.Collection vals)
                       throws HibernateException
Bind multiple values to a named query parameter, guessing the Hibernate type from the class of the first object in the collection. This is useful for binding a list of values to an expression such as foo.bar in (:value_list).


setParameterList

public Query setParameterList(java.lang.String name,
                              java.lang.Object[] vals,
                              org.hibernate.type.Type type)
                       throws HibernateException
Bind multiple values to a named query parameter. This is useful for binding a list of values to an expression such as foo.bar in (:value_list).


setParameterList

public Query setParameterList(java.lang.String name,
                              java.lang.Object[] vals)
                       throws HibernateException
Bind multiple values to a named query parameter, guessing the Hibernate type from the class of the first object in the array. This is useful for binding a list of values to an expression such as foo.bar in (:value_list).


setProperties

public Query setProperties(java.lang.Object bean)
                    throws HibernateException
Bind the property values of the given bean to named parameters of the query, matching property names with parameter names and mapping property types to Hibernate types using hueristics.


setString

public Query setString(int position,
                       java.lang.String val)

setCharacter

public Query setCharacter(int position,
                          char val)

setBoolean

public Query setBoolean(int position,
                        boolean val)

setByte

public Query setByte(int position,
                     byte val)

setShort

public Query setShort(int position,
                      short val)

setInteger

public Query setInteger(int position,
                        int val)

setLong

public Query setLong(int position,
                     long val)

setFloat

public Query setFloat(int position,
                      float val)

setDouble

public Query setDouble(int position,
                       double val)

setBinary

public Query setBinary(int position,
                       byte[] val)

setText

public Query setText(int position,
                     java.lang.String val)

setSerializable

public Query setSerializable(int position,
                             java.io.Serializable val)

setLocale

public Query setLocale(int position,
                       java.util.Locale locale)

setBigDecimal

public Query setBigDecimal(int position,
                           java.math.BigDecimal number)

setBigInteger

public Query setBigInteger(int position,
                           java.math.BigInteger number)

setDate

public Query setDate(int position,
                     java.util.Date date)

setTime

public Query setTime(int position,
                     java.util.Date date)

setTimestamp

public Query setTimestamp(int position,
                          java.util.Date date)

setCalendar

public Query setCalendar(int position,
                         java.util.Calendar calendar)

setCalendarDate

public Query setCalendarDate(int position,
                             java.util.Calendar calendar)

setString

public Query setString(java.lang.String name,
                       java.lang.String val)

setCharacter

public Query setCharacter(java.lang.String name,
                          char val)

setBoolean

public Query setBoolean(java.lang.String name,
                        boolean val)

setByte

public Query setByte(java.lang.String name,
                     byte val)

setShort

public Query setShort(java.lang.String name,
                      short val)

setInteger

public Query setInteger(java.lang.String name,
                        int val)

setLong

public Query setLong(java.lang.String name,
                     long val)

setFloat

public Query setFloat(java.lang.String name,
                      float val)

setDouble

public Query setDouble(java.lang.String name,
                       double val)

setBinary

public Query setBinary(java.lang.String name,
                       byte[] val)

setText

public Query setText(java.lang.String name,
                     java.lang.String val)

setSerializable

public Query setSerializable(java.lang.String name,
                             java.io.Serializable val)

setLocale

public Query setLocale(java.lang.String name,
                       java.util.Locale locale)

setBigDecimal

public Query setBigDecimal(java.lang.String name,
                           java.math.BigDecimal number)

setBigInteger

public Query setBigInteger(java.lang.String name,
                           java.math.BigInteger number)

setDate

public Query setDate(java.lang.String name,
                     java.util.Date date)

setTime

public Query setTime(java.lang.String name,
                     java.util.Date date)

setTimestamp

public Query setTimestamp(java.lang.String name,
                          java.util.Date date)

setCalendar

public Query setCalendar(java.lang.String name,
                         java.util.Calendar calendar)

setCalendarDate

public Query setCalendarDate(java.lang.String name,
                             java.util.Calendar calendar)

setEntity

public Query setEntity(int position,
                       java.lang.Object val)
Bind an instance of a mapped persistent class to a JDBC-style query parameter.


setEntity

public Query setEntity(java.lang.String name,
                       java.lang.Object val)
Bind an instance of a mapped persistent class to a named query parameter.


setResultTransformer

public Query setResultTransformer(org.hibernate.transform.ResultTransformer transformer)
Set a strategy for handling the query results. This can be used to change "shape" of the query result.