Hibernate 如何将multipartfile转换为Blob类型
您好,我正在将图像保存到DB中,我正在将图像作为多部分并尝试转换为Hibernate 如何将multipartfile转换为Blob类型,hibernate,Hibernate,您好,我正在将图像保存到DB中,我正在将图像作为多部分并尝试转换为Blob类型。 我采用这种方法: Blob blob=Hibernate.getLobCreator(sessionFactory.getCurrentSession()).createBlob(multipartFile.getInputStream(),multipartFile.getSize()); 但是在执行时获取空指针异常。 该文件无法将多部分转换为Blob,这是将图像保存到DB的任何其他方法 MultipartFi
Blob
类型。
我采用这种方法:
Blob blob=Hibernate.getLobCreator(sessionFactory.getCurrentSession()).createBlob(multipartFile.getInputStream(),multipartFile.getSize());
但是在执行时获取空指针异常。
该文件无法将多部分转换为Blob
,这是将图像保存到DB的任何其他方法
MultipartFile savedFile;
savedFile=itemView.getImgFile();//file from model attribute
Blob blob=Hibernate.createBlob(savedFile.getInputStream()); // hibernate method for create blob
//Save method will be call here
我遵循了上面的教程您可以使用这种方法。
获取多部分数据并将其转换为字节数组,然后转换为Blob
for (MultipartFile file : productsBean.getData()) {
byte[] bytes = file.getBytes();
Blob blob = new javax.sql.rowset.serial.SerialBlob(bytes);
}
它对我有用:)当我使用createBlob()
方法时,我得到了一个错误当我使用createBlob()方法时,类型Hibernate的createBlob(InputStream)是未定义的,因为它在Hibernate版本4中已被弃用。这不是一种有效的方法,因为它将整个数据(字节数组)从多部分对象加载到内存(RAM)(不包含数据,但包含对数据的引用)。