67,513
社区成员
发帖
与我相关
我的任务
分享
public void AsynService(){
McNcTestCustomer customer = new McNcTestCustomer();
customer.setKunnr("DN");
commonDao.save(customer);
String sql = "DELETE FROM MC_NC_TEST_CUSTOMER WHERE KUNNER = 'DN'";
commonDao.updateSQLExecute(sql, null);
}
public void save(Object pObject) {
this.getHibernateTemplate().saveOrUpdate(pObject);
}
public int updateSQLExecute(String sql, Object object) {
Query query = this.getCurrentSession().createSQLQuery(sql);
if (object != null) {
query.setProperties(object);
}
return query.executeUpdate();
}
那是因为commonDao.updateSQLExecute(sql, null);不受spring的事务管理立即生效,而commonDao.save(customer);方法是收事务管理控制的,当整个方法执行完后才正真生效。所以最后的执行效果就是先删除在插入了