transaction(事务)简介
.hibernate对数据的操作都是封装在事务当中,并且默认是非自动提交的方式。所以用session保存对象时,如果不开启事务,并且手工提交事务,对象并不会真正保存在数据库中
transaction = session.beginTransaction(); //开启事务
transaction.commit(); //提交事务
.如果想让hibernate像jdbc一样自动提交事务,必须调用session对象的doWork()方法,获得jdbc的connection后,设置其为自动提交事务模式。(通常不推荐这样做)
session.doWork(new Work(){
@Override
public void excute(Connection connection) throws SQLException{
connection.setAutoCommit(true);
}
});
session.save(s);
session.flush();