【hibernate】与触发器一行运行
【hibernate】与触发器一起运行
触发器的事件
1、插入事件
2、更新事件
3、删除事件
数据库触发器经常用来生成审计日志,对重要数据的更新记录事件,这种记录审计日志的办法简便,有很好的性能,缺点是不支持跨数据库平台。
触发器引起的问题及解决方法
问题:
触发器执行的操作对Session来说是透明的,如果触发器修改了对象的属性,Session无法检测到数据库中数据的变化,因此Session不会自动刷新缓存中的对象。
解决办法:
执行完save方法后,例如User对象u1:
session.save(u1);
session.flush();
session.refresh(u1);
flush方法会清理缓存,立即执行由save方法计划的insert语句。
refresh方法重新从数据库中加载刚刚被保存的User对象,这样就使Session缓存与数据库保持同步了。
相关推荐
- 【Linux】linux经常使用基本命令 1、显示日期的指令: date 2、显示日历的指令:cal 3、简单好用的计算器:bc 4、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d 5、man 6、数据同步写入磁盘: sync 7、惯用的关机指令:shutdown 8、切换运行等级: init 9、改变文件的所属群组:chgrp 10、改变文件拥有者:chown 11、改变文件的权限:chmod 12、查看版本号信息等 13、变换文件夹:cd 14、显示当前所在文件夹:pwd 15、建立新文件夹:mkdir 16、删除『空』的文件夹:rmdir 17、档案与文件夹的显示:ls 18、复制档案或文件夹:cp 19、移除档案或文件夹:rm 20、移动档案与文件夹,或更名:mv 21、取得路径的文件名称与文件夹名:basename,dirname 22、由第一行開始显示档案内容:cat 23、从最后一行開始显示:tac(能够看出 tac 是 cat 的倒着写) 24、显示的时候,顺道输
- 【hibernate】与触发器一行运行
- 关于Hibernate与Oracle10g中的触发器有关问题
- 【Linux】linux经常使用基本命令 1、显示日期的指令: date 2、显示日历的指令:cal 3、简单好用的计算器:bc 4、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d 5、man 6、数据同步写入磁盘: sync 7、惯用的关机指令:shutdown 8、切换运行等级: init 9、改变文件的所属群组:chgrp 10、改变文件拥有者:chown 11、改变文件的权限:chmod 12、查看版本号信息等 13、变换文件夹:cd 14、显示当前所在文件夹:pwd 15、建立新文件夹:mkdir 16、删除『空』的文件夹:rmdir 17、档案与文件夹的显示:ls 18、复制档案或文件夹:cp 19、移除档案或文件夹:rm 20、移动档案与文件夹,或更名:mv 21、取得路径的文件名称与文件夹名:basename,dirname 22、由第一行開始显示档案内容:cat 23、从最后一行開始显示:tac(能够看出 tac 是 cat 的倒着写) 24、显示的时候,顺道输
- Pycharm2018安装与激活 安装步骤 1、下载安装包(专业版) 2、双击运行安装包 3、开始安装,直接下一步 4、选择安装位置,点击下一步 5、如图配置后,点击下一步 6、执行安装(默认选项不用动) 7、正在安装 8、安装完成,点击finsh 激活步骤: 1、下载激活用的jar包,链接如下: 2、将JetbrainsIdesCrack-3.4-release-enc.jar补丁拷贝至pycharm安装目录的bin目录下(若不记得安装目录位置,可右击桌面pycharm图标,选择打开文件位置即可) 3、以文本方式打开pycharm.exe.vmoptions,pycharm64.exe.vmoptions两个文件,在文件末尾都加上一行内容: 4、双击运行软件,如果之前使用了注册码激活,可以先移除注册码。选择Activation code,将下面的内容拷贝到激活框内。点击ok。 5、接着我们可以点击“主菜单-Help-About”查看下图。这里记录了软件版本、激活期限还有环境
- 进程与程序 并行 并发 串行 阻塞 join函数 进程是正在运行的程序,程序是程序员编写的一对代码,也就是一堆字符,当这堆代码被系统加载到内存并执行,就有了进程。 并发指的是,多个事件同时发生了(单核状态下就是通过切换+保存状态 就是多道技术) 并行:真正意义上的同时执行(只在 多核处理器才有可能出现 ) 串行:按照顺序依次执行 第一行执行完毕才会执行第二行,需要注意的是 串行执行的过程中因为计算操作太多 也会导致程序卡住 但是这与io阻塞是不同的io阻塞立马将cpu切换到其他程序 而串行执行一堆计算任务 cpu没有切走 阻塞与非阻塞指的是
- 【Linux】linux经常使用基本命令 1、显示日期的指令: date 2、显示日历的指令:cal 3、简单好用的计算器:bc 4、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d 5、man 6、数据同步写入磁盘: sync 7、惯用的关机指令:shutdown 8、切换运行等级: init 9、改变文件的所属群组:chgrp 10、改变文件拥有者:chown 11、改变文件的权限:chmod 12、查看版本号信息等 13、变换文件夹:cd 14、显示当前所在文件夹:pwd 15、建立新文件夹:mkdir 16、删除『空』的文件夹:rmdir 17、档案与文件夹的显示:ls 18、复制档案或文件夹:cp 19、移除档案或文件夹:rm 20、移动档案与文件夹,或更名:mv 21、取得路径的文件名称与文件夹名:basename,dirname 22、由第一行開始显示档案内容:cat 23、从最后一行開始显示:tac(能够看出 tac 是 cat 的倒着写) 24、显示的时候,顺道输
- 【Linux】linux经常使用基本命令 1、显示日期的指令: date 2、显示日历的指令:cal 3、简单好用的计算器:bc 4、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d 5、man 6、数据同步写入磁盘: sync 7、惯用的关机指令:shutdown 8、切换运行等级: init 9、改变文件的所属群组:chgrp 10、改变文件拥有者:chown 11、改变文件的权限:chmod 12、查看版本号信息等 13、变换文件夹:cd 14、显示当前所在文件夹:pwd 15、建立新文件夹:mkdir 16、删除『空』的文件夹:rmdir 17、档案与文件夹的显示:ls 18、复制档案或文件夹:cp 19、移除档案或文件夹:rm 20、移动档案与文件夹,或更名:mv 21、取得路径的文件名称与文件夹名:basename,dirname 22、由第一行開始显示档案内容:cat 23、从最后一行開始显示:tac(能够看出 tac 是 cat 的倒着写) 24、显示的时候,顺道输
- 面试1 一.基础知识: 二.IO: 三.算法: 三.多线程相关: 四.数据库相关(MySQL): 五.mq: 六.nosql相关(主要是Redis): 七.zookeeper: 八.Linux相关: 一、如何判断一个线程是否在运行。 二、mysql分页方式 三、单例模式怎么优化 四、redis的内存分配 五、http请求网络异常解决方案 六、怎么检测某个接口是否可以使用 七、linux命令相关 八、maven相关 九、关于内存溢出问题的查找方式 十、事务的作用 十一、java.lang包下的常用工具类,本次考到了Random和Math 十二、Mysql查询 十三、MySQL事务 Spring 使用注解方式进行事务管理 Hibernate与 MyBatis的比较 他人总结 Hibernate中SessionFactory是线程安全的吗?Session是线程安全的吗(两个线程能够共享同一个Session吗)? Hibernate中Session的load和get方法的区别是什么? Session的sa
- 【Linux】linux经常使用基本命令 1、显示日期的指令: date 2、显示日历的指令:cal 3、简单好用的计算器:bc 4、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d 5、man 6、数据同步写入磁盘: sync 7、惯用的关机指令:shutdown 8、切换运行等级: init 9、改变文件的所属群组:chgrp 10、改变文件拥有者:chown 11、改变文件的权限:chmod 12、查看版本号信息等 13、变换文件夹:cd 14、显示当前所在文件夹:pwd 15、建立新文件夹:mkdir 16、删除『空』的文件夹:rmdir 17、档案与文件夹的显示:ls 18、复制档案或文件夹:cp 19、移除档案或文件夹:rm 20、移动档案与文件夹,或更名:mv 21、取得路径的文件名称与文件夹名:basename,dirname 22、由第一行開始显示档案内容:cat 23、从最后一行開始显示:tac(能够看出 tac 是 cat 的倒着写) 24、显示的时候,顺道输
- DB2日期—时间—时间戳的演算
- 在aspx文件中引用CSS样式文件出了有关问题,请指点!