Java 在MYSQL数据库中存储base64字符串的最佳方法是什么?

Java 在MYSQL数据库中存储base64字符串的最佳方法是什么?,java,html,mysql,hibernate,base64,Java,Html,Mysql,Hibernate,Base64,我正在开发一个小型的web应用程序,我必须将用户的图像存储到Mysql数据库中。我是新加入hibernate框架的,我对这里感到震惊。我已将图像转换为Base64字符串。有人能建议我如何使用hibernate将这个字符串存储到数据库中吗 除非您可以定义Base64字符串的最大大小,否则存储图像内容的最佳方法不是将其存储为Base64字符串,而是通过使用JPA注释(代表大对象)定义字段,将其存储为字节数组(因为它可能很大)并使用JPA注释,以防您想要懒洋洋地获取它,如下所示: @Lob @Basi

我正在开发一个小型的web应用程序,我必须将用户的图像存储到Mysql数据库中。我是新加入hibernate框架的,我对这里感到震惊。我已将图像转换为Base64字符串。有人能建议我如何使用hibernate将这个字符串存储到数据库中吗

除非您可以定义
Base64
字符串的最大大小,否则存储图像内容的最佳方法不是将其存储为
Base64
字符串,而是通过使用
JPA
注释(代表大对象)定义字段,将其存储为字节数组(因为它可能很大)并使用
JPA
注释,以防您想要懒洋洋地获取它,如下所示:

@Lob
@Basic(fetch = FetchType.LAZY)
private byte[] image;

除非您可以为
Base64
String
定义最大大小,否则存储图像内容的最佳方法不是将其存储为
Base64
String
,而是通过使用
JPA
注释(代表大对象)定义字段,将其存储为字节数组(因为它可能很大)并使用
JPA
注释,以防您想要懒洋洋地获取它,如下所示:

@Lob
@Basic(fetch = FetchType.LAZY)
private byte[] image;
我推荐如下

@Lob
@Basic(fetch = FetchType.LAZY)
@Column(name = "file64", columnDefinition = "LONGBLOB")
private byte[] file64;
LONGBLOB
允许保存更大的内容。

我推荐以下选项

@Lob
@Basic(fetch = FetchType.LAZY)
@Column(name = "file64", columnDefinition = "LONGBLOB")
private byte[] file64;

LONGBLOB
允许保存较大的内容。

是否有理由不使用blob?是否有理由不使用blob?