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

📄 transactionfactory.java

📁 一个Java持久层类库
💻 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.transaction;import java.util.Properties;import org.hibernate.ConnectionReleaseMode;import org.hibernate.HibernateException;import org.hibernate.Transaction;import org.hibernate.engine.SessionFactoryImplementor;import org.hibernate.jdbc.JDBCContext;/** * Contract for generating Hibernate {@link Transaction} instances. * <p/> * The concrete implementation to be used is specified by the * {@link org.hibernate.cfg.Environment#TRANSACTION_STRATEGY} configuration * setting. * <p/> * Implementors must be threadsafe and should declare a public default constructor. * * @see Transaction * * @author Anton van Straaten * @author Gavin King */public interface TransactionFactory {	/**	 * Callback mechanism; a context is always a {@link org.hibernate.Session}	 * in the Hibernate usage.	 */	public static interface Context {		public SessionFactoryImplementor getFactory();		public boolean isClosed();		public boolean isFlushModeNever();		public boolean isFlushBeforeCompletionEnabled();		public void managedFlush();		public boolean shouldAutoClose();		public void managedClose();	}	/**	 * Begin a transaction and return the associated <tt>Transaction</tt> instance.	 *	 * @param jdbcContext  The jdbc context to which the transaction belongs	 * @param context The contract regarding the context in which this transaction will operate.	 * @return Transaction	 * @throws HibernateException Indicates a problem generating a transaction instance	 */	public Transaction createTransaction(JDBCContext jdbcContext, Context context) throws HibernateException;	/**	 * Configure from the given properties.	 *	 * @param props The configuration properties.	 * @throws HibernateException Indicates a problem configuring this factory.	 */	public void configure(Properties props) throws HibernateException;		/**	 * Get the default connection release mode.	 *	 * @return The default release mode associated with this strategy	 */	public ConnectionReleaseMode getDefaultReleaseMode();		/**	 * Do we require access to the JTA TransactionManager for	 * this strategy?	 *	 * @return True if this strategy requires access to the JTA TransactionManager;	 * false otherwise.	 */	public boolean isTransactionManagerRequired();	/**	 * Are all transaction callbacks local to Hibernate Transactions?	 * Or can the callbacks originate from some other source (e.g. a JTA	 * Synchronization).	 *	 * @return true if callbacks only ever originate from the Hibernate	 * {@link Transaction}; false otherwise.	 */	public boolean areCallbacksLocalToHibernateTransactions();	/**	 * Determine whether an underlying transaction is in progress.	 * <p/>	 * Mainly this is used in determining whether to register a	 * synchronization as well as whether or not to circumvent	 * auto flushing outside transactions.	 *	 * @param jdbcContext The JDBC context	 * @param transactionContext The transaction context	 * @param transaction The Hibernate transaction	 * @return true if an underlying transaction is know to be in effect.	 */	public boolean isTransactionInProgress(JDBCContext jdbcContext, Context transactionContext, Transaction transaction);}

⌨️ 快捷键说明

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