1.问题描述: 例Mysql中,数据库字段中有一个是char(1)类型的字段,在hibernate映射中,类中定义该字段是Character类型,及对应的*.hbm.xml;
,
此时在dao查询数据库映射时,若该字段的值是空值,即length=0,则会报:
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
2.解决:
修改类对象及对应的*.xml,将
Character改成String(1)即可,数据库字段类型不用修改!
3.原因:
char类型字段在hibernate映射时,其基础数据值不可以是空(即其值不能为空)!