今天学习的时候,有一个对hibernate拦截器的疑问

helloruby 2008-07-28 12:00:27
在hibernate的Interceptor接口的方法找来找去都没有找到“当修改一个对象时”应该实现哪个方法
有onSave,onDelete就是没有onUpdate.
究竟是有这个方法但我没有找到?
还是根本就没有这个方法,要是没有提供这个方法,又该如何实现“当修改一个对象时”?
...全文
173 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
catail 2008-08-01
  • 打赏
  • 举报
回复
如果能判断是三种状态的那种应该是最好的。如果能知道对象的状态自然就知道是不是update。总之还是在onSave方法里面判断。没实际做过,姑妄言之姑妄听之
catail 2008-08-01
  • 打赏
  • 举报
回复
没试,感觉应该在onSave里面,可以在onSave方法里面log一下,onSave方法的参数里面有currentState和previousState两个Object数组,应该可以从两个数组的比较得出是update还是insert。比如在两个数组的第三位上previousState的内容是null而currentState是非空值则必然是insert,如果两者都不是null那么就应该是update。

我这里没有环境也不知道有没有其他方法判断对象状态是transient, persistent, detached。如果能判断是三种状态的那种应该是最好的。
helloruby 2008-07-28
  • 打赏
  • 举报
回复
大哥,你得说怎么调用?才能给分呀
songfuqiang 2008-07-28
  • 打赏
  • 举报
回复
拦截器
在spring中好实现些吧
songfuqiang 2008-07-28
  • 打赏
  • 举报
回复
Spring+JDBC+Struts
skycncomp 2008-07-28
  • 打赏
  • 举报
回复
另一个贴我给你答案了,这个接分
helloruby 2008-07-28
  • 打赏
  • 举报
回复
我用的是Struts+hibernate,大家go on
HW_zxc_006 2008-07-28
  • 打赏
  • 举报
回复
up
胡矣 2008-07-28
  • 打赏
  • 举报
回复
没用过hibernate
一般都用spring的拦截器
帮顶了

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧