最近使用saveOrUpdate的时候,发现一直不更新数据。
按文档上说明应该是:
当数据有Id的时候就进行更新,但是结果没有
今天具体研究了一下,saveOrUpdate其实不是针对于数据本身(Id),
而是对象,可以理解为:有新对象则插入,已有对象就更新。
所以想要达到更新效果,自然需要用从数据库查询出来的对象了
eg.
@Resource
private OrderDao orderDao;
@Transactional
public void updateOrder(Order order) {
orderDao.saveOrUpdate(order);
}
//此时会新添加一条数据
@Transactional
public void updateOrder(Order order) {
Order neworder =orderDao.getEntity(order.getId);
neworder.setOrderNo(order.getOrgerNo);
orderDao.saveOrUpdate(neworder);//neworder是查询出来的对象,去修改neworder的时候,就会去更新数据
}
这个问题是比较容易被忽略的问题了
如果这篇文章对您有所帮助,记得关注我喔