首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

三天不学习,赶不下比安奇 之 Hibernate onPreUpdate

2012-10-30 
三天不学习,赶不上比安奇 之 Hibernate onPreUpdate还是Hibernate,用了以前的代码,在实体 update 之前,使

三天不学习,赶不上比安奇 之 Hibernate onPreUpdate

还是Hibernate,用了以前的代码,在实体 update 之前,使用 PreUpdateEventListener,

对实体当中的 lastModified 属性进行设置。这样,只要实体有 lastModified 属性,这个listener

就会自动的将它的最后更新时间给设置为最新的。

public boolean onPreUpdate( PreUpdateEvent event) {    try {        Date date = new Date();        Object entity = event.getEntity();        Method method = entity.getClass().getMethod( "setLastModified", Date.class);        if ( method != null) method.invoke( entity, date);        String[] names = event.getPersisteer().getPropertyNames();        for ( int i=0; i<names.length; i++) {            if ( "lastModified".equals( names[i])) {                event.getState()[i] = date;                break;            }        }    } catch ( Exception e) {    }}

果然是世界变化快啊。

1 楼 antitest 2011-02-11  
这是由于state更新了字段,而不是因为state修改了之后调用的update方法;

热点排行