在Grails + Oracle + CLOB中使用PropertyNotInList时出错

时间:2013-04-30 16:17:03

标签: java oracle hibernate grails gorm

我正在尝试从oracle 11g数据库中检索所有对象,但某些对象在属性中包含特殊值。

代码:

//Retrieve thoughts
def thoughts = Question.findAllByThoughtsNotInList(["-", "", null], params)
def totalThoughts = Question.countByThoughtsNotInList(["-", "", null])

属性thoughts必须为CLOB,因为我只拥有CRUD数据的权限。我不能使用任何DDL语句。

有了这个,我得了ORA-00932错误。

ORA-00932: inconsistent datatypes: expected - got CLOB

我的域名类:

class Question {
    String person
    String thoughts 

    static constraints = {
        thoughts nullable: true
    }

    static mapping = {
        table "Question"
        id name: "person"
        person column: "person"
        thoughts column: "thoughts_person"
        version false
    }
}

我该如何解决?

1 个答案:

答案 0 :(得分:1)

如果将

thoughts视为CLOB,那么

type: "text"应该在域类中Question。你能分享params域名吗?为什么class Question { String thoughts static mapping = { table "QUESTION" id column: "QUESTION_ID" thoughts column: "THOUGHTS", type: "text" } } 在动态查找器中?

这样的事情:

{{1}}