栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

休眠中的PreInsert和PreUpdate事件监听器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

休眠中的PreInsert和PreUpdate事件监听器

我创建了Interceptor,并使用Hibernate EmptyInterceptor对其进行了扩展。保存对象时将调用
Override方法

onSave()
,该对象尚未保存到数据库中,而
onFlushDirty()
更新对象时将调用该方法,该对象尚未更新到数据库中。
在此功能中,我已通过其名称检查方法,其中必须在创建或更新时设置日期。
这是onFlushDirty()方法的示例代码。

public boolean onFlushDirty(Object entity,Serializable id,Object[] currentState,        Object[] previousState,String[] propertyNames, Type[] types) {    if ( entity instanceof City ) {        for ( int i=0; i < propertyNames.length; i++ ) { if ( "lastUpdatedOn".equals( propertyNames[i] ) ) {     currentState[i] = new Date();     return true; }        }    }    return false;}

lastUpdatedOn
是我的方法名称,它设置了更新的记录日期。

onSave()方法:

public boolean onSave(Object entity, Serializable id, Object[] state,  String[] propertyNames, Type[] types)   {    if ( entity instanceof City) {        for ( int i=0; i<propertyNames.length; i++ ) { if ( "createdOn".equals( propertyNames[i] ) ) {     state[i] = new Date();     return true; }        }    }    return false;}

createdOn
是设置记录创建日期的方法。

使用此拦截器类扩展您的POJO类。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391911.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号