【hibernate】与触发器一起运行

触发器的事件

1、插入事件

2、更新事件

3、删除事件

数据库触发器经常用来生成审计日志,对重要数据的更新记录事件,这种记录审计日志的办法简便,有很好的性能,缺点是不支持跨数据库平台。

触发器引起的问题及解决方法

问题:
触发器执行的操作对Session来说是透明的,如果触发器修改了对象的属性,Session无法检测到数据库中数据的变化,因此Session不会自动刷新缓存中的对象。
解决办法:
执行完save方法后,例如User对象u1:
session.save(u1);
session.flush();
session.refresh(u1);
flush方法会清理缓存,立即执行由save方法计划的insert语句。
refresh方法重新从数据库中加载刚刚被保存的User对象,这样就使Session缓存与数据库保持同步了。

【hibernate】与触发器一起运行,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。