求救hibernate+sql server2000 的奇妙问题:当tomcat重启时,所有插入的数据全部丢失,为什么?

来源:百度知道 编辑:UC知道 时间:2024/05/11 16:44:06
我是通过hibernate向sql server2000中插入数据,可不知为什么tomcat一重启,插入的数据就全部没了。好像没有提交是的,
是不是需要配置什么的?

hibernate中的业务逻辑必须写在事务之中,这也是为什么hibernate的业务操作是直接对数据库进行增删改查的原因。看如下代码:

public boolean addAdmin(Admin admin) {
// 标识新增是否成功
boolean bool = false;
// 创建session对象
Session session = SessionFactory.currentSession();
// 创建事务tr并打开事务
Transaction tr = session.beginTransaction();
try {
// 调用session的添加数据方法
session.save(admin);
// 提交事务
tr.commit();
bool = true;
} catch (Exception e) {
e.printStackTrace();
// 回滚事务
tr.rollback();
} finally {
// 关闭session对象
SessionFactory.closeSession();
}
return bool;
}
重启tomcat后,会关闭session,没有提交的话,事务就会回滚,所以出现以上问题。和配置应该没关系的。