使用hibernate+mysql 存文件的时候遇到一个莫名其妙的错误。服务器端也不报错,客户端就一直500。(org.hibernate.AssertionFailure: null id 这个错误)。
然后百度到的都说是 有个字段长度不足 。无奈一路排查。。。发现字段明明都是足的啊。
(⊙o⊙)… 然后才发现 存文件的 blob 貌似不对,然后百度一下发现 blob 在mysql的中分四种。。。。
MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。
MySQL的四种BLOB类型
类型 | 大小(单位:字节) |
---|---|
TinyBlob | 最大 255 |
Blob | 最大 65K |
MediumBlob | 最大 16M |
LongBlob | 最大 4G |