拦截器类型是通过@Table(interceptor=XXX.class)配置的,默认是DefaultPojoInterceptor
DefaultPojoInterceptor当前实现了3个注解, @PrevInsert/@PrevUpdate/@PrevDelete, 具体用法请查阅插入前后的设置
自定义更新行为 @MyUpdateTime
public MyPojoInterceptor extends DefaultPojoInterceptor {
protected void setupFieldAnnotation(final MappingField mf, final Field field, final Annotation anno) {
super.setupFieldAnnotation(mf,field,anno);
if (anno instanceof MyUpdateTime) {
super.list.add(new BasicPojoInterceptor() {
public void onEvent(Object obj, Entity<?> en, String event, Object... args) {
if ("prevUpdate".equals(event) {
// 对obj进行操作
// MappingField有字段信息
// Field的java属性反射对象
}
}
});
}
}
}
static {
NutConf.DAO_USE_POJO_INTERCEPTOR = false;
}
本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用。