【问题标题】:How can I store a Huge String in my Domain Class?如何在我的域类中存储一个巨大的字符串?
【发布时间】:2014-04-18 13:25:30
【问题描述】:

我正在 Grails 中制作一个 Web 应用程序,并且我有这个域类

String name
String query

static mapping = {        
    query type: "text"}

但是当我从 Oracle 中的另一个查询中获取查询时,它返回一个非常大的字符串,我得到这个错误:

ORA-01461: 只能绑定 LONG 值以插入到 LONG 列中

从我得到信息的数据库中,字段是 varchar(63760)

有什么想法吗?谢谢

【问题讨论】:

    标签: oracle hibernate grails grails-orm


    【解决方案1】:

    尝试将其添加到您的映射中:sqlType: 'clob'。因此,您将拥有以下内容:

    String name
    String query
    
    static mapping = {        
        query type: "text", sqlType: "clob"
    }
    

    另外,请参阅this SO 问题。

    【讨论】:

    • 我试过了,然后输入:'materialized_clob',然后查询(nullable:true,maxSize:64000),我读了另一个问题,但我还是卡住了
    • 我又试了一次,但还是出现这个错误:ORA-12899
    【解决方案2】:

    Grails 允许设置转换为 mySQL 大小的最大大小,所以如果它适用于 Oracle,您可以尝试这样做。

    class Class {
    String name;
    String query;
    
    static constraints = {
        query(maxSize: 2048000)
    }
    
    static mapping = {
        query type: "text"
    }}
    

    【讨论】:

    • 我试过了,但我仍然有这个错误:ORA-12899
    猜你喜欢
    • 2014-11-18
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    相关资源
    最近更新 更多