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

📄 myinterceptor.java

📁 一个自娱自乐的demo 开发环境 apache-tomcat-6.0.16 Mysql 5.1.11 Jdk 1.6 文件结构如下 --MyGame -----MyGam
💻 JAVA
字号:
package com.hb.core.interceptor;

import java.io.Serializable;
import java.sql.Timestamp;

import org.hibernate.EmptyInterceptor;

public class MyInterceptor extends EmptyInterceptor {

	private static final long serialVersionUID = 8377000932952044081L;
	private final String CREATE_DATE = "createDate";

	private final String UPDATE_DATE = "updateDate";

	@Override
	public boolean onFlushDirty(Object entity, Serializable id, Object[] currentState,
			Object[] previousState, String[] propertyNames, org.hibernate.type.Type[] types) {
		boolean setUpdateDate = false;

		for (int i = 0; i < propertyNames.length; i++) {
			if (!setUpdateDate && UPDATE_DATE.equals(propertyNames[i])) {
				currentState[i] = new Timestamp(System.currentTimeMillis());
				setUpdateDate = true;
			}
		}
		if (setUpdateDate) {
			return true;
		} else {
			throw new IllegalStateException("[" + entity.toString() + "] updateDate Not Set!");
		}
	}

	@Override
	public boolean onSave(Object entity, Serializable id, Object[] state, String[] propertyNames,
			org.hibernate.type.Type[] types) {
		boolean setUpdateDate = false;
		boolean setCreateDate = false;
		Timestamp nowTime = null;

		for (int i = 0; i < propertyNames.length; i++) {

			if (CREATE_DATE.equals(propertyNames[i])) {
				if (nowTime == null) {
					nowTime = new Timestamp(System.currentTimeMillis());
				}
				state[i] = nowTime;
				setCreateDate = true;
			}
			if (UPDATE_DATE.equals(propertyNames[i])) {
				if (nowTime == null)
					nowTime = new Timestamp(System.currentTimeMillis());
				state[i] = nowTime;
				setUpdateDate = true;
			}
			if (setCreateDate && setUpdateDate) {
				return true;
			}
		}
		throw new IllegalStateException("[" + entity.toString() + "] createDate/updateDate Not Set!");
	}

}

⌨️ 快捷键说明

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