⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 query.java

📁 通过系统把几乎所有与人力资源相关的数据统一管理
💻 JAVA
字号:
//$Id: Query.java,v 1.13.2.10 2003/12/14 01:29:26 oneovthafew Exp $package net.sf.hibernate;import java.io.Serializable;import java.math.BigDecimal;import java.util.Calendar;import java.util.Collection;import java.util.Date;import java.util.Iterator;import java.util.List;import java.util.Locale;import net.sf.hibernate.type.Type;/** * An object-oriented representation of a Hibernate query. A <tt>Query</tt> * instance is obtained by calling <tt>Session.createQuery()</tt>. This * interface exposes some extra functionality beyond that provided by * <tt>Session.iterate()</tt> and <tt>Session.find()</tt>: * <ul> * <li>a particular page of the result set may be selected by calling <tt> * setMaxResults(), setFirstResult()</tt> * <li>named query parameters may be used * <li>the results may be returned as an instance of <tt>ScrollableResults</tt> * </ul> * <br> * Use of <tt>setFirstResult()</tt> requires that the JDBC driver implement * scrollable result sets.<br> * <br> * Named query parameters are tokens of the form <tt>:name</tt> in the * query string. A value is bound to the <tt>integer</tt> parameter * <tt>:foo</tt> by calling<br> * <br> * <tt>setParameter("foo", foo, Hibernate.INTEGER);</tt><br> * <br> * for example. A name may appear multiple times in the query string.<br> * <br> * JDBC-style <tt>?</tt> parameters are also supported. To bind a * value to a JDBC-style parameter use a set method that accepts an * <tt>int</tt> positional argument (numbered from zero, contrary * to JDBC).<br> * <br> * You may not mix and match JDBC-style parameters and named parameters * in the same query.<br> * <br> * Queries are executed by calling <tt>list()</tt>, <tt>scroll()</tt> or  * <tt>iterate()</tt>. A query may be re-executed by subsequent invocations.  * Its lifespan is, however, bounded by the lifespan of the <tt>Session</tt>  * that created it.<br> * <br> * Implementors are not intended to be threadsafe. * * @see Session#createQuery(java.lang.String) * @see ScrollableResults * @author Gavin King */public interface Query {	/**	 * Get the query string.	 *	 * @return the query string	 */	public String getQueryString();	/**	 * Return the Hibernate types of the query result set.	 * @return an array of types	 */	public Type[] getReturnTypes() throws HibernateException;	/**	 * Return the names of all named parameters of the query.	 * @return the parameter names, in no particular order	 */	public String[] getNamedParameters() throws HibernateException;	/**	 * Return the query results as an <tt>Iterator</tt>. If the query	 * contains multiple results pre row, the results are returned in	 * an instance of <tt>Object[]</tt>.<br>	 * <br>	 * Entities returned as results are initialized on demand. The first	 * SQL query returns identifiers only.<br>	 *	 * @return the result iterator	 * @throws HibernateException	 */	public Iterator iterate() throws HibernateException;	/**	 * Return the query results as <tt>ScrollableResults</tt>. The	 * scrollability of the returned results depends upon JDBC driver	 * support for scrollable <tt>ResultSet</tt>s.<br>	 * <br>	 * Entities returned as results are initialized on demand. The first	 * SQL query returns identifier only.<br>	 *	 * @see ScrollableResults	 * @return the result iterator	 * @throws HibernateException	 */	public ScrollableResults scroll() throws HibernateException;	/**	 * Return the query results as a <tt>List</tt>. If the query contains	 * multiple results pre row, the results are returned in an instance	 * of <tt>Object[]</tt>.	 *	 * @return the result list	 * @throws HibernateException	 */	public List list() throws HibernateException;	/**	 * Convenience method to return a single instance that matches	 * the query, or null if the query returns no results.	 * 	 * @return the single result or <tt>null</tt>	 * @throws HibernateException if there is more than one matching result	 */	public Object uniqueResult() throws HibernateException;		/**	 * Set the maximum number of rows to retrieve. If not set,	 * there is no limit to the number of rows retrieved.	 * @param maxResults the maximum number of rows	 */	public Query setMaxResults(int maxResults);	/**	 * Set the first row to retrieve. If not set, rows will be	 * retrieved beginnning from row <tt>0</tt>.	 * @param firstResult a row number, numbered from <tt>0</tt>	 */	public Query setFirstResult(int firstResult);		/**	 * Enable caching of this query result set.	 */	public Query setCacheable(boolean cacheable);	/**	 * Set the name of the cache region.	 * @param cacheRegion the name of a query cache region, or <tt>null</tt>	 * for the default query cache	 */	public Query setCacheRegion(String cacheRegion);	/**	 * Set a timeout for the underlying JDBC query.	 * @param timeout the timeout in seconds	 */	public Query setTimeout(int timeout);		/**	 * Set the lockmode for the objects idententified by the	 * given alias that appears in the <tt>FROM</tt> clause.	 * @param alias a query alias, or <tt>this</tt> for a collection filter	 */	public void setLockMode(String alias, LockMode lockMode);		/**	 * Bind a value to a JDBC-style query parameter.	 * @param position the position of the parameter in the query	 * string, numbered from <tt>0</tt>.	 * @param val the possibly-null parameter value	 * @param type the Hibernate type	 */	public Query setParameter(int position, Object val, Type type);	/**	 * Bind a value to a named query parameter.	 * @param name the name of the parameter	 * @param val the possibly-null parameter value	 * @param type the Hibernate type	 */	public Query setParameter(String name, Object val, Type type);		/**	 * Bind a value to a JDBC-style query parameter, guessing the	 * Hibernate type from the class of the given object.	 * @param position the position of the parameter in the query	 * string, numbered from <tt>0</tt>.	 * @param val the non-null parameter value	 * @throws net.sf.hibernate.HibernateException if no type could be determined	 */	public Query setParameter(int position, Object val) throws HibernateException;	/**	 * Bind a value to a named query parameter, guessing the Hibernate	 * type from the class of the given object.	 * @param name the name of the parameter	 * @param val the non-null parameter value	 * @throws net.sf.hibernate.HibernateException if no type could be determined	 */	public Query setParameter(String name, Object val) throws HibernateException;		/**	 * Bind multiple values to a named query parameter. This is useful for binding	 * a list of values to an expression such as <tt>foo.bar in (:value_list)</tt>.	 * @param name the name of the parameter	 * @param vals a collection of values to list	 * @param type the Hibernate type of the values	 */	public Query setParameterList(String name, Collection vals, Type type) 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 <tt>foo.bar in (:value_list)</tt>.	 * @param name the name of the parameter	 * @param vals a collection of values to list	 */	public Query setParameterList(String name, Collection vals) throws HibernateException;		/**	 * Bind multiple values to a named query parameter. This is useful for binding	 * a list of values to an expression such as <tt>foo.bar in (:value_list)</tt>.	 * @param name the name of the parameter	 * @param vals a collection of values to list	 * @param type the Hibernate type of the values	 */	public Query setParameterList(String name, Object[] vals, Type type) 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 <tt>foo.bar in (:value_list)</tt>.	 * @param name the name of the parameter	 * @param vals a collection of values to list	 */	public Query setParameterList(String name, Object[] vals) 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.	 * @param bean any JavaBean or POJO	 */	public Query setProperties(Object bean) throws HibernateException;		public Query setString(int position, String val);	public Query setCharacter(int position, char val);	public Query setBoolean(int position, boolean val);	public Query setByte(int position, byte val);	public Query setShort(int position, short val);	public Query setInteger(int position, int val);	public Query setLong(int position, long val);	public Query setFloat(int position, float val);	public Query setDouble(int position, double val);	public Query setBinary(int position, byte[] val);	public Query setText(int position, String val);	public Query setSerializable(int position, Serializable val);	public Query setLocale(int position, Locale locale);	public Query setBigDecimal(int position, BigDecimal number);		public Query setDate(int position, Date date);	public Query setTime(int position, Date date);	public Query setTimestamp(int position, Date date);		public Query setCalendar(int position, Calendar calendar);	public Query setCalendarDate(int position, Calendar calendar);		public Query setString(String name, String val);	public Query setCharacter(String name, char val);	public Query setBoolean(String name, boolean val);	public Query setByte(String name, byte val);	public Query setShort(String name, short val);	public Query setInteger(String name, int val);	public Query setLong(String name, long val);	public Query setFloat(String name, float val);	public Query setDouble(String name, double val);	public Query setBinary(String name, byte[] val);	public Query setText(String name, String val);	public Query setSerializable(String name, Serializable val);	public Query setLocale(String name, Locale locale);	public Query setBigDecimal(String name, BigDecimal number);		public Query setDate(String name, Date date);	public Query setTime(String name, Date date);	public Query setTimestamp(String name, Date date);		public Query setCalendar(String name, Calendar calendar);	public Query setCalendarDate(String name, Calendar calendar);		/**	 * Bind an instance of a mapped persistent class to a JDBC-style query parameter.	 * @param position the position of the parameter in the query	 * string, numbered from <tt>0</tt>.	 * @param val a non-null instance of a persistent class	 */	public Query setEntity(int position, Object val); // use setParameter for null values	/**	 * Bind an instance of a persistent enumeration class to a JDBC-style query parameter.	 * @param position the position of the parameter in the query	 * string, numbered from <tt>0</tt>.	 * @param val a non-null instance of a persistent enumeration	 */	public Query setEnum(int position, Object val) throws MappingException; // use setParameter for null values		/**	 * Bind an instance of a mapped persistent class to a named query parameter.	 * @param name the name of the parameter	 * @param val a non-null instance of a persistent class	 */	public Query setEntity(String name, Object val); // use setParameter for null values	/**	 * Bind an instance of a mapped persistent enumeration class to a named query parameter.	 * @param name the name of the parameter	 * @param val a non-null instance of a persistent enumeration	 */	public Query setEnum(String name, Object val) throws MappingException; // use setParameter for null values}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -