我使用与数据库通信的REST API。
将Hibernate与Wildfly 10.1.0一起使用
当我进行并发更新时,我得到以下异常;
对此有什么合适的解决方案? 我应该向客户端发送任何错误代码,还是应该在后端处理?
Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:67)
修改
public void saveOrUpdate(T entity) {
Session session = null;
try {
session = getSession();
session.clear();
session.saveOrUpdate(entity);
session.flush();
} catch (HibernateException ex) {
log.error("Error when save or update." + entity.getCode(), ex.getLocalizedMessage());
throw new HibernateException(ex);
}
}