📄 session.java
字号:
/* * Hibernate, Relational Persistence for Idiomatic Java * * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. All third-party contributions are * distributed under license by Red Hat Middleware LLC. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this distribution; if not, write to: * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA * */package org.hibernate.classic;import java.io.Serializable;import java.util.Collection;import java.util.Iterator;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.type.Type;/** * An extension of the <tt>Session</tt> API, including all * deprecated methods from Hibernate2. This interface is * provided to allow easier migration of existing applications. * New code should use <tt>org.hibernate.Session</tt>. * @author Gavin King */public interface Session extends org.hibernate.Session { /** * Copy the state of the given object onto the persistent object with the same * identifier. If there is no persistent instance currently associated with * the session, it will be loaded. Return the persistent instance. If the * given instance is unsaved or does not exist in the database, save it and * return it as a newly persistent instance. Otherwise, the given instance * does not become associated with the session. * * @deprecated use {@link org.hibernate.Session#merge(Object)} * * @param object a transient instance with state to be copied * @return an updated persistent instance */ public Object saveOrUpdateCopy(Object object) throws HibernateException; /** * Copy the state of the given object onto the persistent object with the * given identifier. If there is no persistent instance currently associated * with the session, it will be loaded. Return the persistent instance. If * there is no database row with the given identifier, save the given instance * and return it as a newly persistent instance. Otherwise, the given instance * does not become associated with the session. * * @deprecated with no replacement * * @param object a persistent or transient instance with state to be copied * @param id the identifier of the instance to copy to * @return an updated persistent instance */ public Object saveOrUpdateCopy(Object object, Serializable id) throws HibernateException; /** * Copy the state of the given object onto the persistent object with the same * identifier. If there is no persistent instance currently associated with * the session, it will be loaded. Return the persistent instance. If the * given instance is unsaved or does not exist in the database, save it and * return it as a newly persistent instance. Otherwise, the given instance * does not become associated with the session. * * @deprecated use {@link org.hibernate.Session#merge(String, Object)} * * @param object a transient instance with state to be copied * @return an updated persistent instance */ public Object saveOrUpdateCopy(String entityName, Object object) throws HibernateException; /** * Copy the state of the given object onto the persistent object with the * given identifier. If there is no persistent instance currently associated * with the session, it will be loaded. Return the persistent instance. If * there is no database row with the given identifier, save the given instance * and return it as a newly persistent instance. Otherwise, the given instance * does not become associated with the session. * * @deprecated with no replacement * * @param object a persistent or transient instance with state to be copied * @param id the identifier of the instance to copy to * @return an updated persistent instance */ public Object saveOrUpdateCopy(String entityName, Object object, Serializable id) throws HibernateException; /** * Execute a query. * * @deprecated use {@link #createQuery}.{@link Query#list()} * * @param query a query expressed in Hibernate's query language * @return a distinct list of instances (or arrays of instances) * @throws HibernateException */ public List find(String query) throws HibernateException; /** * Execute a query with bind parameters, binding a value to a "?" parameter * in the query string. * * @deprecated use {@link #createQuery}.setXYZ.{@link Query#list()} * * @param query the query string * @param value a value to be bound to a "?" placeholder (JDBC IN parameter). * @param type the Hibernate type of the value * @see org.hibernate.Hibernate for access to <tt>Type</tt> instances * @return a distinct list of instances (or arrays of instances) * @throws HibernateException */ public List find(String query, Object value, Type type) throws HibernateException; /** * Execute a query with bind parameters, binding an array of values to "?" * parameters in the query string. * * @deprecated use {@link #createQuery}.setXYZ.{@link Query#list()} * * @param query the query string * @param values an array of values to be bound to the "?" placeholders (JDBC IN parameters). * @param types an array of Hibernate types of the values * @see org.hibernate.Hibernate for access to <tt>Type</tt> instances * @return a distinct list of instances * @throws HibernateException */ public List find(String query, Object[] values, Type[] types) throws HibernateException; /** * Execute a query and return the results in an iterator. If the query has multiple * return values, values will be returned in an array of type <tt>Object[].</tt><br> * <br> * Entities returned as results are initialized on demand. The first SQL query returns * identifiers only. So <tt>iterate()</tt> is usually a less efficient way to retrieve * objects than <tt>find()</tt>. * * @deprecated use {@link #createQuery}.{@link Query#iterate} * * @param query the query string * @return an iterator * @throws HibernateException */ public Iterator iterate(String query) throws HibernateException; /** * Execute a query and return the results in an iterator. Write the given value to "?" * in the query string. If the query has multiple return values, values will be returned * in an array of type <tt>Object[]</tt>.<br> * <br> * Entities returned as results are initialized on demand. The first SQL query returns * identifiers only. So <tt>iterate()</tt> is usually a less efficient way to retrieve * objects than <tt>find()</tt>. * * @deprecated use {@link #createQuery}.setXYZ.{@link Query#iterate} * * @param query the query string * @param value a value to be witten to a "?" placeholder in the query string * @param type the hibernate type of value * @return an iterator * @throws HibernateException */ public Iterator iterate(String query, Object value, Type type) throws HibernateException; /** * Execute a query and return the results in an iterator. Write the given values to "?" * in the query string. If the query has multiple return values, values will be returned * in an array of type <tt>Object[]</tt>.<br> * <br> * Entities returned as results are initialized on demand. The first SQL query returns
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -