Hibernate:字符串索引超出界限异常

时间:2014-08-22 13:22:49

标签: java mysql sql hibernate spring-data

我在MySql表中有一个列,定义为char(1)。该列的值为空(非空)。在使用Hibernate读取它时,会引发异常:

  

java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0       在java.lang.String.charAt(String.java:658)

这是该表的域类:

@Entity
@Table(name="ACTIONS",schema="IPLAN")
public class Actions
{
@Id
@GeneratedValue
@Column(name="ID")
private long id;

@Column(name="TOTAL_HOURS")
private int hours;

@Column(name="TYPE")
private char type;
//getters and setters
}

更新

我在更新表后遇到此问题。使用的查询是:

update actions set type=''

请帮忙!

3 个答案:

答案 0 :(得分:0)

似乎它的价值不是空白。

检查您是否有'SPACE'而不是空白。

答案 1 :(得分:0)

由于您使用character field作为数据类型的表中的char导致此问题,因此请尝试将char数据类型更改为TinyInt(1)

This可能会帮助您深入理解。

答案 2 :(得分:0)

我有类似的问题能够通过使用长度为1的String

来修复它