请问我的语句运行好像还是成功的,但是就是插入数据的时候插入不了,数据库中没有数据。
插入语句:public boolean saveKeshi(Keshi keshi) {
// TODO Auto-generated method stub
try {
Session s = HibernateUtil.currentSession();
HibernateUtil.beginTransaction();
s.saveOrUpdate(keshi);
System.out.println("save keshi keshi_name=" +keshi.getName());
System.out.println(keshi.getKeshi_id());HibernateUtil.commitTransaction();
HibernateUtil.closeSession();
return true;
} catch (HibernateException e) {
log.fatal(e);
}
return false;
}
运行之后Tomcat中输出:save keshi keshi_name=gijkgj
0003
Hibernate: update keshi set name=? where keshi_id=?
但是我查看数据库却没有数据,请问这是为什么呢?  

解决方案 »

  1.   

    没有commit吧
    试试
    Transaction tx=HibernateUtil.beginTransaction(); 
    s.saveOrUpdate(keshi); 
    System.out.println("save keshi keshi_name=" +keshi.getName()); 
    System.out.println(keshi.getKeshi_id()); 
    tx.commit();
      

  2.   

    有commit阿   HibernateUtil.beginTransaction(); 
    你说的意思是一样的阿
      

  3.   

    update keshi set name=? where keshi_id=? 
    这是修改不是插入语句,keshi是持久化对象吗,直接用save吧