我想堅持的圖像,如Oracle數據庫使用JPA斑點(11克)堅持的java.sql.Blob到Oracle BLOB(2.0)無法使用JPA
下面是我的實體類
@Entity
@Table(name="MyTable")
public class MyEntity implements Serializable {
@Column(name="IMAGE_BLOB")
private Blob imageBlob;
public void setImageBlob(Blob imageBlob) {
this.imageBlob = imageBlob;
}
public Blob getImageBlob() {
return imageBlob;
}
}
下面是我的代碼,其中我試圖設置BLOB
InputSteram fis = new FileInputStream("C://folder1/folder2/image1.jpg");
byte[] imageByteArray= IOUtils.toByteArray(fis);
Blob imageBlob = new SerialBlob(imageByteArray);
MyEntity myEntity = new MyEntity();
myEntity.setImageBlob(imageBlob).
當我運行上面的代碼代碼片段並將MyEntity持久化到數據庫中,我發現除了IMAGE_BLOB列值顯示爲null之外,所有值都正確地保留在數據庫中,它會拋出任何異常。我還驗證了我試圖設置的imageBlob不爲null。
任何人都可以幫助我解決這個問題。
是否有任何特別的原因,你使用的是Blob對象而不是字節數組? –
是的,我有幾個字節數組的問題,其中一個 - 我得到類轉換異常,oracle.sql.BLOB與oracle.sql.BLOB不兼容2)我在JPA中遇到了metamodel類奇異屬性問題。所以我被告知使用java.sql.Blob而不是字節數組。 –
你以後如何查詢BLOB?我假設你正在驗證長度> 0? – Perception