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

📄 auditlog.java

📁 hibernate in action 源码 caveatemptor-0.9.5初学者很适合
💻 JAVA
字号:
package org.hibernate.auction.persistence.audit;

import net.sf.hibernate.*;

import java.io.Serializable;
import java.sql.Connection;

import org.hibernate.auction.persistence.HibernateUtil;
import org.hibernate.auction.model.Auditable;

/**
 * The audit log helper that logs actual events.
 * <p>
 * The <tt>logEvent()</tt> method needs a JDBC connection, it will
 * open a new Hibernate <tt>Session</tt> on that connection and
 * persist the event. The temporary <tt>Session</tt> is then closed,
 * transaction handling is left to the client calling this method.
 *
 * @author Christian Bauer <christian@hibernate.org>
 */
public class AuditLog {

	public static void logEvent(
		String message,
		Auditable entity,
		Long userId,
		Connection connection)
		throws CallbackException {

		Session tempSession =
		  HibernateUtil.getSessionFactory().openSession(connection);

		try {
			AuditLogRecord record =
				new AuditLogRecord(message,
								   entity.getId(),
								   entity.getClass(),
								   userId );

			tempSession.save(record);
			tempSession.flush();

		} catch (Exception ex) {
			throw new CallbackException(ex);

		} finally {
			try {
				tempSession.close();
			} catch (HibernateException ex) {
				throw new CallbackException(ex);
			}
		}
	}
}

⌨️ 快捷键说明

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