2006-05-19

hibernate中的binary

在mapping文件中声明了一项用来存储文件的属性“bytes”:





实际上是把bytes映射成数据库表中的varchar,然后看了一下mysql的文档,varchar和binary是一样的属性,但是为什么是varchar而不直接binary就不明白了。但是varchar显然不够用于存储文件,执行存储的时候报错说
Data truncation: Data too long for column 'bytes' at row 1
后来就把它改成varbinary,顺便把最大值设为55535,然后就通过了。

没错,不是65535,如果那样的话会报错说需要把字段类型转换为BLOB。

用的是hibernate2.1, mysqlconnector5, mysql5.0

No comments: