1

我正在尝试使用 JPA(2.0)将图像作为 blob 保存在 oracle 数据库(11g)中

下面是我的实体类

@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 持久保存到数据库中时,我看到所有值都正确地保存在数据库中,除了显示为 null 的 IMAGE_BLOB 列值,它会抛出任何异常。我还验证了要设置的 imageBlob 不为空。

任何人都可以帮我解决这个问题。

4

1 回答 1

0
@LOB  
@Column(name="IMAGE_BLOB")  
private  byte[] imageBlob;

它运行良好,我也在 Oracle DB 中完成了它。所以如果你得到了,ClassCastException那么你的Java代码就会有问题。

于 2012-12-29T12:01:06.323 回答