用session.flush是不行的,如果配置了connection.autocommit=true
执行session.flush会马上执行sql!不知道你的问题是什么?
因为在一个是事务里,所以第二个方法实际上是执行了更新操作。
.merge(detachedInstance);方法;可以保存游离实体
saveOrUpdate(instance)方法;
看你调用哪个了!
执行session.flush会马上执行sql!不知道你的问题是什么?
因为在一个是事务里,所以第二个方法实际上是执行了更新操作。
.merge(detachedInstance);方法;可以保存游离实体
saveOrUpdate(instance)方法;
看你调用哪个了!
int secId) {
this.addRough(operRc, partsId, operId, secId);
Stats stats = this.listStats(partsId, secId, operRc.getNumber());
this.addMoPiRk(stats, operRc.getNumber()); this.getSession().flush();
this.getSession().clear(); this.addPartsInfo(operRc, secId, partsId, Permission.PRO_IN);
}
蓝色的执行一个插入操作
红色执行另一个插入操作
这两个操作必须成对出现,不能一个成功一个失败
这里我用了session.clear
目前是解决问题了,两个操作都插入两行数据,但是不知道这个有没有什么“副作用”