📄 hibernateflushinterceptor.java
字号:
package org.springframework.samples.petclinic.hibernate;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
* 供完成基于Hibernate的集成测试使用,保证在目标方法调用结束后立即调用.flush()方法,
* 从而保证测试结果的正确性.
* <li>使得目标DAO方法不用显式调用flush(),从而不会为了“测试”而测试,并不会对应用有任何影响。
* <li>对于其他ORM引擎,可以提供类似的拦截器
*
* @author worldheart
*
*/
public class HibernateFlushInterceptor implements MethodInterceptor {
protected static final Log log = LogFactory.getLog(HibernateFlushInterceptor.class);
public Object invoke(MethodInvocation invocation) throws Throwable {
Object object = invocation.proceed();
HibernateDaoSupport hds = (HibernateDaoSupport)invocation.getThis();
hds.getHibernateTemplate().flush();
log.info("returned from...." + invocation.getClass());
return object;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -