精通Hibernate——Hibernate使用触发器需要注意的两点
来源:互联网 发布:淘宝页面图片 编辑:程序博客网 时间:2024/05/21 17:50
数据库系统有时会利用触发器来完成某些业务规则。触发器在接收到特定的事件时被激发,执行事先定义好的一组数据库操作。能激发触发器运行的时间可以分为以下几种:
1.插入事件,insert
2.更新记录事件,update
3.删除记录事件,delete
Hibernate与数据库中的触发器协同工作时会造成两类问题:
1.触发器使Session的缓存中的数据与数据库不一致
在激发执行触发器之后在执行这个操作后,立即调用Session的flush和refresh方法,迫使Session的缓存与数据库同步。另一方面,如果执行完Session的save方法后不会再访问Customer对象,那么也没有必要迫使Session的缓存与数据库同步。
2.Session的update方法盲目的激发触发器
当配置文件配置如下:
<class name="mypack.Customer" table="CUSTOMRS" select-before-update="true"></class>
当Session的update或saveOrUpdate方法更新一个Customer游离对象时,会先执行select语句,获得这个Customer对象子数据库中最新数据,然后比较Customer游离对象与数据库中的最新数据,然后比较Customer游离对象与数据库中的数据是否一致,只有在不一致的情况下才会执行update语句,这就避免了多余的update语句,以及盲目的激发相关的触发器。
1 0
- 精通Hibernate——Hibernate使用触发器需要注意的两点
- hibernate需要注意的。
- Hibernate 需要注意的地方
- 使用execvp()函数需要注意的两点
- 使用execvp()函数需要注意的两点
- 在MyEclipse中使用Hibernate需要注意的一个问题
- 使用hibernate时需要注意的jar包
- Hibernate使用复合主键时需要注意的
- Hibernate使用二级缓存时,createSQLQuery需要注意的问题
- 精通Hibernate——Hibernate的检索策略
- 精通Hibernate——Hibernate的检索策略
- AIDL需要注意的两点
- SSH-Ch05:Hibernate需要注意的地方
- Hibernate操作时间需要注意的问题
- 精通Hibernate——Hibernate核心接口
- 精通Hibernate——Hibernate缓存详解
- hibernate的使用注意点
- Hibernate中使用自定义insert,update,delete语句需要注意的问题
- 【C/C++】面向对象的基本概念
- 查找算法之线性表查找
- rsyncd配置示例,
- C++中引用(&)的用法和应用实例===引用和多态的关系!!!!!!!!!!!!!!!!!
- 【面试ing】腾讯模拟笔试
- 精通Hibernate——Hibernate使用触发器需要注意的两点
- Android稳定性
- main方法为何为public static void
- hdu4407容斥原理
- JavaBean基本的内省
- java中的计数信号量(Counting Semaphore)
- CodeForces 288A
- Android四大组件之Activity
- 多线程