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

📄 cachesynchronization.java

📁 介绍了hibernate的入门有一些基本常用的事例
💻 JAVA
字号:
//$Id: CacheSynchronization.java,v 1.6 2005/04/14 23:30:24 oneovthafew Exp $package org.hibernate.transaction;import javax.transaction.Status;import javax.transaction.Synchronization;import javax.transaction.SystemException;import javax.transaction.Transaction;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.hibernate.TransactionException;import org.hibernate.jdbc.JDBCContext;import org.hibernate.util.JTAHelper;/** * @author Gavin King */public final class CacheSynchronization implements Synchronization {	private static final Log log = LogFactory.getLog(CacheSynchronization.class);	private final TransactionFactory.Context ctx;	private JDBCContext jdbcContext;	private final Transaction transaction;	private final org.hibernate.Transaction hibernateTransaction;	public CacheSynchronization(TransactionFactory.Context ctx, JDBCContext jdbcContext, Transaction transaction, org.hibernate.Transaction tx) {		this.ctx = ctx;		this.jdbcContext = jdbcContext;		this.transaction = transaction;		this.hibernateTransaction = tx;	}	public void beforeCompletion() {		log.trace("transaction before completion callback");		boolean flush;		try {			flush = !ctx.isFlushModeNever() &&			        ctx.isFlushBeforeCompletionEnabled() && 			        !JTAHelper.isRollback( transaction.getStatus() ); 					//actually, this last test is probably unnecessary, since 					//beforeCompletion() doesn't get called during rollback		}		catch (SystemException se) {			log.error("could not determine transaction status", se);			throw new TransactionException("could not determine transaction status in beforeCompletion()", se);		}				try {			if (flush) {				log.trace("automatically flushing session");				ctx.managedFlush();			}		}		finally {			jdbcContext.beforeTransactionCompletion(hibernateTransaction);		}	}	public void afterCompletion(int status) {		if ( log.isTraceEnabled() ) {			log.trace("transaction after completion callback, status: " + status);		}		try {			jdbcContext.afterTransactionCompletion(status==Status.STATUS_COMMITTED, hibernateTransaction);		}		finally {			if ( ctx.shouldAutoClose() && ctx.isOpen() ) {				log.trace("automatically closing session");				ctx.managedClose();			}		}	}		public String toString() {		return CacheSynchronization.class.getName();	}}

⌨️ 快捷键说明

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