使用Postgresql文本类型在Grails域类中映射Clob类型

时间:2019-01-04 10:00:59

标签: hibernate spring-boot grails gorm grails-3.0

我使用的代码适用于Derby,MySQL,Oracle,但在与PostgreSQL一起使用时抛出错误,我收到错误 org.hibernet.exception.DataException无法执行查询

我正在寻找一种使用String映射文本的解决方案。 但是,对于域类中带有Clob的地图文本,无处解决。

class Ticket {
    String id
    String name
    String customerId
    int severity
    Clob description
    String component
    Clob screenshot

    static mapping = {
        version false
        table 'MY_TICKET'
        id generator: 'assigned'
        columns {
            id column: 'TICKET_ID'
            customerId column: 'CUSTOMER_ID'
        }
    }

    static constraints = {
        id bindable: true
    }   
}

1 个答案:

答案 0 :(得分:0)

您需要将Clob类型更改为字符串类型

class Ticket {
    String id
    String name
    String customerId
    int severity
    String description
    String component
    String screenshot

    static mapping = {
        version false
        table 'MY_TICKET'
        id generator: 'assigned'
        columns {
            id column: 'TICKET_ID'
            customerId column: 'CUSTOMER_ID'
        }
    }

    static constraints = {
        id bindable: true
    }  

     component sqltype:'text'
     screenshot sqltype:'text'
}

当我们需要在映射中使用clob类型时,我们总是将其建模为映射类型为'text'的String。