【hibernate】与触发器一起运行

触发器的事件

1、插入事件

2、更新事件

3、删除事件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值