我遇到了用hibernate更新blob的问题。 (我使用Hibernate 3.3.1-GA)用Hibernate更新BLOB时出现问题?
我的模型有这些getter/setter方法对Hibernate, 即内部我处理的byte []所以任何的getter/setter转换 的byte []博客。
我可以创建一个没有问题的初始对象,但如果我尝试更改blob的内容,数据库列不会更新。我没有收到任何错误信息,除非数据库未更新,否则一切都很正常。
/** do not use, for hibernate only */
public Blob getLogoBinaryBlob() {
if(logoBinary == null){
return null;
}
return Hibernate.createBlob(logoBinary);
}
/** do not use, for hibernate only */
public void setLogoBinaryBlob(Blob logoBinaryBlob) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
logoBinary = toByteArrayImpl(logoBinaryBlob, baos);
} catch (Exception e) {
}
}
我对BLOB Hibernate映射看起来像
<property name="logoBinaryBlob" column="LOGO_BINARY" type="blob" />
使用的数据库是Oracle。
您的属性是使用JPA还是旧式hibernate属性映射映射的(例如, )。你也使用哪种版本的Hibernate? –
2010-03-30 10:12:23
包括映射和版本(见上文),谢谢。 – JohnSmith 2010-03-30 10:42:37
hm,我用 getHibernateTemplate()。merge(object); 更新条目。 当阅读这篇文章:https://forum.hibernate.org/viewtopic.php?f=1&t=942365&start=0 它听起来像合并是不可能用于blobs模型...任何解决方法? – JohnSmith 2010-03-30 12:10:25