当我尝试使用 GORM 中的 get 函数检索域类对象时,我得到了 StringIndexOutOfBoundsException。
域类
class Connect {
int id
long profileid
String username
char type
char superSub
String time
char class_
boolean isapilogin
static mapping = {
table "CONNECT"
version false
id column: "ID"
profileid column: "PROFILEID"
username column: "USERNAME"
type column: "TYPE"
superSub column: "SUPER_SUB"
time column: "TIME"
class_ column: "CLASS"
isapilogin column: "ISAPILOGIN"
}
static constraints = {
username maxSize: 40
type maxSize: 1
superSub maxSize: 1
time maxSize: 14
class_ maxSize: 1
}
}
MYSQL 数据库表
身份证 | int(10) 无符号
PROFILEID | bigint(20) 无符号用户名 | varchar(40)
类型 | 字符(1)
SUPER_SUB | 字符(1)
时间 | varchar(14)
类 | char(1)
ISAPILOGIN | 微小的(1)
我的控制器
class DemoController {
def check() {
int id = 1001;
Connect data = Connect.get(id) // exception at this line
data.save()
render "check"
}
}
MYSQL 表数据
ID PROFILEID |用户名 | 类型 | SUPER_SUB | 时间 |课程|ISAPILOGIN
1001 | 4 | 阿比纳夫 | | 磷 | 1461235989 | 一个 | 0
1002 | 5 | 加文 | 小号 | 电话 |1450155084 | 一个 | 1
当我在 ID 1001 上调用 get 而不是在 ID 1002 上调用时出现异常。我认为的原因是,对于 ID 1001,类型列有一个空值或空格,但对于 ID 1002,类型有一个字符值“S”。我的表有很多空值的行,所以我能做些什么来避免这个异常?