使用Hibernate在数据库中保存文本文件时出现问题

时间:2010-05-20 19:26:13

标签: java sql mysql hibernate

我在将大型文本文件保存到MySQL数据库时遇到问题。如果文本文件大小约为5KB,则会成功保存。如果文件是148KB,那么我从Hibernate得到这个错误:

org.hibernate.exception.DataException: Could not execute JDBC batch update

这些是Hibernate的SQL节目:

Hibernate: insert into file_table (ID,FILE) values (?, ?)

在我的hibernate文件中,我使用java.sql.Blob来存储文件。

任何人都知道为什么它无法保存148KB的文件大小但如果我打开同一个文件,将其减少到大约5KB,它会成功保存吗?

我认为默认限制是我认为2GB?这很奇怪。

感谢。

1 个答案:

答案 0 :(得分:1)

以下是mysql中不同字符串列的最大长度的说明:

http://dev.mysql.com/doc/refman/5.1/en/string-type-overview.html

标准TEXT列最多只允许65,535个字符,您可能需要一个LONGTEXT列,每列大约4Gb。