配置一条属性
<property name="hibernate.current_session_context_class">thread</property>
dao层 (以下代码仅是演示)
public class CustomerDaoImp implements CustomerDao {
@Override
public void save(Customer customer) {
//1.获取当前线程绑定的session
Session session = HibernateUtils.getCurrentSession();
//3.执行保存
session.save(customer);
}
}
service层
public class CustomerServiceImp implements CustomerService {
private CustomerDao dao=new CustomerDaoImp();
@Override
public void save(Customer customer) {
//获取当前线程绑定的session
Session session = HibernateUtils.getCurrentSession();
//开启事务
Transaction tx = session.beginTransaction();
try {
dao.save(customer);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
//提交事务
tx.commit();
}