你用的是什么版本的数据库?mysql 低版本好像有这个问题,虽然你的 jdbc 支持事务处理,但是数据库不支持。
解决方案 »
- 关于webmap技术,都进来帮助我,100分感谢大家
- 有什么方法可以将一个资源变成可利用的,别人可以通过URL访问
- jbuilder中如何将未直接使用的class文件加进war包?请高手指点一下,万分感谢!!!
- 一百分求一个问题?用hibernate like 去查询一个含有%内容的字段如何查?
- JUnit 4.0 now available 2006-02-16 并高分征求相关实践经验文章与大家共享
- struts中html taglib的问题
- struts,十万个火急
- 准备回家种地!!JSP查询数据库问题
- 字符串按固定格式输出问题请教
- 请牛人帮忙
- 创建进度监视器+THREAD 问题.
- jboss重启报端口被占用的问题(在线等....)
try {
......
}
catch (Exception e) {
e.printStackTrace();
try {
con.rollback();
}
catch (Exception e1) {
e1.printStackTrace();
return e1.getMessage();
}
return e.getMessage();
}
finally {
try {
con.setAutoCommit(oldMethod);
}
catch (Exception e) {
e.printStackTrace();
return e.getMessage();
}
}
try
{
//封装的Hibernate DAO
HibernateImpl hi=new HibernateImpl();
hi.update(...);
}
catch(Exception e)
{
logger.error("...");
logger.error(e.getStackTrace());
throw new MyException("...");
}
必须将你要执行的若干 sql 语句放在 con.setAutoCommit(false);........con.setAutoCommit(true);之间,并且要捕捉异常,一旦出现异常,必须rollback
HibernateImpl hi=new HibernateImpl();try
{
//更新数据1
hi.update(...);
}
catch(Exception e)
{
logger.error("数据1更新失败!");
logger.error(e.getStackTrace());
throw new MyException("数据1更新失败!");
}//这段代码发生异常
try
{
//更新数据2
hi.update(...);
}
catch(Exception e)
{
logger.error("数据2更新失败!");
logger.error(e.getStackTrace());
throw new MyException("数据2更新失败!");
}
//事务开始
for(...){
hi.update(...);
}
//事务结束
将所有的update()都放在一个事务中,而不是将一个update()放在一个事务中