首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GORM中get函数的StringIndexOutOfBoundsException

问GORM中get函数的StringIndexOutOfBoundsException
EN

Stack Overflow用户
提问于 2016-04-30 12:11:17
回答 2查看 78关注 0票数 0

当我试图在GORM中使用get函数检索域类对象时,我得到了StringIndexOutOfBoundsException。

域类

代码语言:javascript
复制
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)未签名

PROFILEID \ bigint(20)无签名用户名\ varchar(40)

字符类型(1)

SUPER_SUB _ char(1)

时间_ varchar(14)

类别: char(1)

ISAPILOGIN ISAPILOGIN(1)

MYCONTROLLER

代码语言:javascript
复制
class DemoController {
    def check() {
        int id = 1001;
        Connect data = Connect.get(id)  // exception at this line
        data.save()
        render "check"

    }
}

MYSQL表数据

PROFILEID

1001

1002

当我调用get上的ID 1001而不是ID 1002时,就会出现异常。我认为原因是对于ID1001,类型列有一个空值或空格,而对于ID 1002,类型有一个char值‘S’,在我的表中,我有很多行有空值,那么我能做些什么来避免这个异常呢?

EN

回答 2

Stack Overflow用户

发布于 2016-04-30 12:17:24

我认为您应该从域类中删除"id“字段。

票数 0
EN

Stack Overflow用户

发布于 2016-04-30 15:15:14

确保在nullable子句中指示哪些属性是constraint。在您的示例中,属性superSub可以为null:

代码语言:javascript
复制
superSub nullable: true, maxSize: 1

如果您没有在约束子句中指定可空属性,那么Grails会显式地期望为这些属性提供一个值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36954780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档