hibernate4saveorUpdate更新也会插入

最近使用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的时候,就会去更新数据

}


这个问题是比较容易被忽略的问题了

如果这篇文章对您有所帮助,记得关注我喔

发布了38 篇原创文章 · 获赞 19 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/yangyongdehao30/article/details/53287642