ibatis用的2.5
数据库用的是postgreSQL。
系统里所有的表都有【登录人】和【登录时间】2个字段现在有个需求insert或update的时候都要在更新上面2个字段。
登录人就是session里的人的id。但是登录时间有个特殊的要求,就是有个java的配置property文件可以修改当前时间。
比如我改配置文件里时间为2008年08月09日。
那么相当于系统运行在该日期一样(穿越啊...)。
所以这时更新DB,【登录时间】则为上面日期的时间。
上面的需求java的代码已经完成。现请教大家的问题,我希望做一个共通点的方法,让大多数处理业务的开发者都不需要特别写代码就能完成以上需求。他们可以只需处理和各个业务有关的内容。
目前自己在想用自定义TypeHandle实现吗?行吗?
有其他办法吗? ibatis
数据库用的是postgreSQL。
系统里所有的表都有【登录人】和【登录时间】2个字段现在有个需求insert或update的时候都要在更新上面2个字段。
登录人就是session里的人的id。但是登录时间有个特殊的要求,就是有个java的配置property文件可以修改当前时间。
比如我改配置文件里时间为2008年08月09日。
那么相当于系统运行在该日期一样(穿越啊...)。
所以这时更新DB,【登录时间】则为上面日期的时间。
上面的需求java的代码已经完成。现请教大家的问题,我希望做一个共通点的方法,让大多数处理业务的开发者都不需要特别写代码就能完成以上需求。他们可以只需处理和各个业务有关的内容。
目前自己在想用自定义TypeHandle实现吗?行吗?
有其他办法吗? ibatis
比如,简单修改下配置,使得那些取得当前时间的函数都根据设置来拿日期,而不是真正os的系统时间。
据我所知是没有的,数据库对于系统时间有比较严禁的要求,随意修改系统时间可能产生严重后果。倒是可以考虑触发器,根据配置表中的要求(比如时间修正毫秒数啥的),修改insert时某固定名称字段的值;虽然此类触发器可以用程序批量建,不过毕竟触发器增大处理开销,潜意识里不怎么推荐。