日期:2014-05-20  浏览次数:20731 次

Hibernate的问题。。。
String[] str = userId.split(",");
System.out.println(str[0]+"==="+str[1]);//ID可以打印出来
Session session =null;
SQLQuery query =null;
try{
session= sessionFactory.getCurrentSession();
for(int i =0 ;i<str.length; i++){
String sql = "update user_table set yd_channl='"+id1+"',lt_channl='"+id2+"', dx_channl='"+id3+"' where id="+str[i]+" ";
query = session.createSQLQuery(sql);
query.executeUpdate();
System.out.println("-------------------");
}
  }catch(Exception e){
e.printStackTrace();
}
}

代码执行的时候,到query.executeUpdate();这里就停止了。
知道为什么吗?没有报错。sql语句没问题,可以在数据库里面正常修改。

------解决方案--------------------
你没有开启事物,当然不行了,加上事物试试
Transaction tx = session.beginTransaction();
query.executeUpdate();
tx.commit();