Hibernate 与数据库中的触发器协同工作时, 会造成两类问题
1触发器使 Session 的缓存中的持久化对象与数据库中对应的数据不一致:触发器运行在数据库中, 它执行的操作对 Session 是透明的 Session 的
解决方案: 在执行完 Session 的相关操作后, 立即调用 Session 的 flush() 和 refresh() 方法, 迫使 Session 的缓存与数据库同步(refresh() 方法重新从数据库中加载对象) 

2update() 方法盲目地激发触发器: 无论游离对象的属性是否发生变化, 都会执行 update 语句, 而 update 语句会激发数据库中相应的触发器
解决方案:在映射文件的的 <class> 元素中设置 select-before-update 属性: 当 Session 的 update 或 saveOrUpdate() 方法更新一个游离对象时, 会先执行 Select 语句, 获得当前游离对象在数据库中的最新数据, 只有在不一致的情况下才会执行 update 语句(没有用到触发器的时候一般的情况下最好不要设置,因为会降低效率的)

最新文章

  1. JavaSript模块规范 - AMD规范与CMD规范介绍
  2. 解决上一篇jquery中on的疑惑
  3. CentOS6.3连接Xshell出现的问题(连接失败--需要设置ONBOOT=“yes”,开启网卡驱动)
  4. javascript中可变值与不可变值(原始值)
  5. Myeclipse+Axis2+Tomcat开发webService
  6. lightning mdb 源代码分析(1)
  7. JSon_零基础_008_将JSon格式的&quot;数组&quot;字符串转换为List集合
  8. 使用gdb调试多线程程序总结
  9. 【JS模式】单体模式
  10. nyoj 最少步数
  11. 分类: LINUX apache 访问设置配置
  12. WinRarHelper帮助类
  13. Hadoop之——CentOS构造ssh否password登录注意事项
  14. 删除Python UserWarning[已解决]
  15. [自制操作系统] 原子操作&核间中断&读写锁&PRWLock
  16. Hello Django
  17. qml layout
  18. 南大算法设计与分析课程OJ答案代码(2)最大子序列和问题、所有的逆序对
  19. RestFul风格API(Swagger)--从零开始Swagger
  20. CCPC-Wannafly Winter Camp Day1 (Div2, onsite) A B C E F I J

热门文章

  1. atitit.面向过程的编程语言异常处理 c语言 asp vbs 的try catch 实现
  2. 图解Sysprep封装系统
  3. boost 库的安装
  4. SAP ECC6安装系列二:安装前的准备工作
  5. 删除CNNIC根证书
  6. java:常用的两种设计模式(单例模式和工厂模式)
  7. renderer:function参数介绍
  8. Hadoop周边生态软件和简要工作原理(一)
  9. 关于Unity中的transform组件(二)
  10. 分享在github超酷超炫特效动画,不看你会懊悔的。