我遇到了用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