Jpa 如何在不使用字节数组的情况下将文件输入流转换为blob数据类型

Jpa 如何在不使用字节数组的情况下将文件输入流转换为blob数据类型,jpa,groovy,spring-data-jpa,blob,hibernate-mapping,Jpa,Groovy,Spring Data Jpa,Blob,Hibernate Mapping,我试图编写一段代码,使用SpringData/JPA(groovy中的编码)将zip文件作为Blob数据存储在数据库中。我能够使用字节数组作为实体轻松存储文件 @column(Name = "zipFile") byte [] zipFile 但我需要的是下面的 @column(Name = "zipFile") Blob zipFile 我需要找到一种方法将fileinputstream转换为Blob数据类型 Blob image = Hibernate.getLobCre

我试图编写一段代码,使用SpringData/JPA(groovy中的编码)将zip文件作为Blob数据存储在数据库中。我能够使用字节数组作为实体轻松存储文件

@column(Name = "zipFile")    
byte [] zipFile
但我需要的是下面的

@column(Name = "zipFile")    
Blob zipFile
我需要找到一种方法将fileinputstream转换为Blob数据类型

Blob image = Hibernate.getLobCreator(session).createBlob(bFile);
注意上面的方法。但是代码在我的服务层中,所以不确定如何在这里实现会话。
请让我知道是否有更好的方法将filestream转换为Blob数据类型,我需要以某种方式消除字节数组。

可能的重复(请注意,这样一个无辜的字段可能会导致很大的开销并降低速度。然后将其放在第二个实体中。例如。)我仍然会使用
@Lob
Byte[]zipFile;`-@IvanPronin可能重复,就像我说的,他们似乎都在使用会话,通常不建议在服务层使用会话,这就是为什么我要求更好的方法。