在Hiberate事务中,出现抛异常或者其它原因导致没有执行commit或rollback方法时的安全问题
2008-02-23 22:04
573 查看
在Hiberate事务中,如果出现抛异常或者其它原因导致没有执行commit或rollback方法时,很可能会造成数据库中数据不一致现象的产生,代码如下: Transaction tx = session.beginTransaction() ; //user这个时候是持久态(Persisent),所以对password的操作将影响数据库的记录 user.setPassword("eeeeeeeeee") ; //清空了user对象 user = null ; //然后又调用user对象中的方法 System.out.println(user.getPassword()); //这样就会抛出异常,事务就不提交也不回滚了 tx.commit() ; 大家对这个问题怎样看,是否有安全隐患,应该怎样解决 .
相关文章推荐
- 线程安全问题出现的原因和解决方法
- jfreechart出现ChartDeleter没有序列化问题导致session信息丢失的解决方法
- javax.persistence.RollbackException: Transaction marked as rollbackOnly异常出现的原因以及避免方法
- 程序执行修改,添加,删除时出现程序停止的问题----原因事务问题
- Handler的removeMessages方法导致postDelayed的runnable没有执行的原因
- spring事务(Transaction )报 marked as rollback-only异常的原因及解决方法
- 当Windows 7或者Windows2008加入域后,登陆时出现“服务器上的安全数据库没有此工作站信任关系的计算机帐户”,导致无法登陆到域
- 不能在USB中安装Ghost XP系统或者在Ghost 过程中出现问题的的原因与部分解决方法.
- android开发中遇到的问题解决之RelativeLayout执行measure(w,h)方法时,出现NullPointerException的异常情况
- 遇到一个很有趣的问题,while(ture)或者for循环出现异常,继续执行还是跳出异常
- jfreechart出现ChartDeleter没有序列化问题导致session信息丢失的解决方法
- jfreechart出现ChartDeleter没有序列化问题导致session信息丢失的解决方法
- mysql事务没有提交导致 锁等待Lock wait timeout exceeded异常
- 在chrome浏览器中出现的问题,方法的自动执行
- 使用ssh或者远程执行命令是的一些问题解决方法
- 选定的数据存储区出现问题,原因可能是服务器名称或凭据无效,或者权限不足。也可能是未启用角色管理器功能造成的。
- Java中long类型直接赋值出现The literal xxxxxxxxxx of type int is out of range 问题的原因和解决方法
- 摘要Myeclipse或Eclipse 老是出现JPA project Change Event Handler,导致需要执行的处理没有进行;关闭也关不完。
- 出现 java.net.MalformedURLException: no protocol 异常的原因及解决方法
- 如何拿回被恶意或者不小心删除硬盘所有者权限而导致的文件访问以及修改权限被限制(NTFS格式安全权限问题)