声明式事务:
<tx:method name="add*" propagation="REQUIRED" />serivcesImplpublic void addUserinfo() {
System.out.println("hei");
String hql = "insert into userinfo (userid,userpw) select '397','2' ";
userinfoDao.executeQuery(hql);
String hql2 = "insert into userinfo (userid,userpw) select '378','2' ";
userinfoDao.executeQuery(hql2);
}
事务配置在业务逻辑层,并且不需要try catch 捕获异常,而应该让
spring捕获这个异常,当有异常的时候,事务会自动回滚的,经测试
也确实如此
<tx:method name="add*" propagation="REQUIRED" />serivcesImplpublic void addUserinfo() {
System.out.println("hei");
String hql = "insert into userinfo (userid,userpw) select '397','2' ";
userinfoDao.executeQuery(hql);
String hql2 = "insert into userinfo (userid,userpw) select '378','2' ";
userinfoDao.executeQuery(hql2);
}
事务配置在业务逻辑层,并且不需要try catch 捕获异常,而应该让
spring捕获这个异常,当有异常的时候,事务会自动回滚的,经测试
也确实如此
解决方案 »
- 在hibernate当中,调用了session.close()后到底会不会清空缓存?谢谢!
- Spring整合Hibernate时出错,求高手帮忙!
- 什么样的工作能接触到java比较深层一点的技术啊
- 在struts1+spring+hibernate中如何使用urlrewrite
- Struts2视频
- 昨天无聊试了下DATE方式的比较值,发现个奇怪的问题
- 代码好像没错,可是数据库为什么连接不上??
- weblogic中报错:class file has wrong version 49.0, should be 48.0
- 这些宝贵资料适合入门的朋友学习
- nested exception is java.sql.SQLException: ORA-01008: 并非所有变量都已绑定
- webservice axis2问题
- hibernate的问题
看看他回的
在有try catch机制的语言里面强烈不建议使用boolean来判断成败与否
另外这里还有异常处理的隐患,catch了后没什么也没干只是输出了下,没有异常链,真正的大程序里面会导致严重的问题
是与try catch机制相违背的。这里有几点不了解
1.异常被吃掉了还靠什么回滚了
catch(Exception e){
throw new RuntimeException("这样的话,事务也可以回滚,也只有RuntimeException才可以回滚");
}2.在有try catch机制的语言里面强烈不建议使用boolean来判断成败与否
3.另外这里还有异常处理的隐患,catch了后没什么也没干只是输出了下,没有异常链,
真正的大程序里面会导致严重的问题,是与try catch机制相违背的。
可以讲讲吗?