?? myinterceptor.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 + -