get函数我得到的StringIndexOutOfBoundsException当我尝试在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数据库表
ID | int(10)unsigned
PROFILEID | bigint(20)unsigned USERNAME | varchar(40)
TYPE | char(1)
SUPER_SUB | char(1)
TIME | varchar(14)
CLASS | char(1)
ISAPILOGIN | TINYINT(1)
myController的
class DemoController {
def check() {
int id = 1001;
Connect data = Connect.get(id) // exception at this line
data.save()
render "check"
}
}
MySQL表DATA
ID简档| USERNAME | TYPE | SUPER_SUB | TIME | CLASS | ISAPILOGIN
1001 | 4 | ABHINAV | | P | 1461235989 | A | 0
1002 | 5 | GAVAN | S | P | 1450155084 | A | 1
当我调用ID 1001而不是ID 1002时,异常即将到来。我认为的原因是对于ID 1001,类型列具有空值或空间,但对于ID 1002类型具有char值'S'。在我的表中,我有很多空值的行,所以我可以做什么来避免这种异常?
这是为什么?ID是主键 –
,因为GORM自己做它 –
虽然在域中声明'id'是多余的,但删除它并不能解决此问题。 – Armaiti