我有一个模型文件,其代码为:
Signature.java
public class Signature implements Serializable {
private String id;
private int version;
private byte[] signatureImage;
private String signatureImageName;
private String name;
private String title;
// the getters setters methods
}
在这个对象中,我使用signatureImage
从jsp获取MultipartFile
,然后将字节保存到此字段中。我从我的控制器保存这个对象,daohibernate代码如下:
Session session = getSessionFactory().getCurrentSession();
session.saveOrUpdate(signature);
现在我收到一个错误:
:处理请求时: - > HibernateOptimisticLockingFailureException,e :: org.springframework.orm.hibernate4.HibernateOptimisticLockingFailureException:类com.model.Signature的对象,标识符为[]:乐观锁定失败;嵌套异常是org.hibernate.StaleObjectStateException:Row被另一个事务更新或删除(或unsaved-value映射不正确):[com.model.Signature#]
现在这是对saveOrUpdate
查询的单次调用没有线程,然后我也收到此错误。
答案 0 :(得分:0)
在这里得到错误。即将到来的id并非空,它是"" (空)。
这就是为什么它试图更新记录而不是保存。
因此,通过将id的值更改为null,它保存了记录。
由于