【发布时间】:2021-05-25 04:16:51
【问题描述】:
我知道有很多关于如何做到这一点的帖子,但我已经尝试了他们的解决方案,每次我遇到一个错误,导致我无法编译,我不知道为什么。这些是我尝试过的解决方案。
Blob blob = new javax.sql.rowset.serial.SerialBlob(bytes);
//next try
Blob b = new SerialBlob(byteData);
错误消息总是将 blob 类型更改为串行 blob。如果我将其更改为串行 blob,我会收到一条错误消息,指出字符串对于列来说太长。
如果我使用代码
byte[] byteData = encodedImg.getBytes("UTF-8");//Better to specify encoding
Blob blobs = (Blob) pprepo.createBlob();
blobs.setBytes(1, byteData);
我收到错误消息
原因:org.hibernate.MappingException:无法确定类型:com.mysql.cj.jdbc.Blob,表:post,列:[org.hibernate.mapping.Column(image)]
这是我的课
private Blob image;
public Blob getImage(String string) {
return image;
}
public void setImage(Blob image) {
this.image = image;
}
所以我不确定这里还有什么地方可以继续,因为似乎没有任何效果。以防万一我使用存储库作为我的数据库连接并且我试图将用户输入的多部分文件保存到我的数据库中。
【问题讨论】:
标签: java encryption blob