hibernate3学习笔记(二十三)|进阶特点(二)[Java编程]
本文“hibernate3学习笔记(二十三)|进阶特点(二)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
4.Interceptor 介面:
您可以在开启Session时载入一个自订Interceptor,这个Interceptor会在对应的行动发生之前呼唤对应的办法,办法是让您定义的Interceptor实作Interceptor介面,介面的定义以下:
Interceptor.java
package org.hibernate;
import java.io.Serializable;
import java.util.Iterator;
import org.hibernate.type.Type;
public interface Interceptor {
// 载入物件之前履行
public
boolean onLoad(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types)
throws CallbackException;
// flush 时,假如发现有Dirty data,则履行此办法
public
boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState,
String[] propertyNames, Type[] types) throws CallbackException;
// 储存物件前履行
public
boolean onSave(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types)
throws CallbackException;
// 删除物件前履行
public
void onDelete(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types)
throws CallbackException;
// 在 flush 前履行
public void preFlush(Iterator entities) throws CallbackException;
// 在 flush 後履行
public void postFlush(Iterator entities) throws CallbackException;
// 判断传入的物件能否为 transient 状况
public Boolean isTransient(Object entity);
// flush 前呼唤这个办法判断 Dirty data
// 传回Dirty data属性索引或null采预设行为
public
int[] findDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState,
String[] propertyNames, Type[] types);
// 手动成立实体物件,假如传回 null,则利用预设的建构办法成立实例
public Object instantiate(String entityName, EntityMode entityMode, Serializable id)
throws CallbackException;
// 传回实体名称
public String getEntityName(Object object) throws CallbackException;
// 获得实体物件
public Object getEntity(String entityName, Serializable id) throws CallbackException;
// beginTransaction() 之後履行
public void afterTransactionBegin(Transaction tx);
// 在事件完成前履行
public void beforeTransactionCompletion(Transaction tx);
// 在事件完成後履行
public void afterTransactionCompletion(Transaction tx);
}
以上是“hibernate3学习笔记(二十三)|进阶特点(二)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |