我有这个域类:
class Jobs {
String query
static constraints = {
query(maxSize: 63760)
query type: "text"
}
static mapping = {
//And I tried all this:
// sqlType: "char", length:63760
// query sqlType: DbSupport.bigStringType
// table 'HYPJobs'
//query sqlType: "text"
//query(nullable: true, maxSize: 64000)
// query type:'materialized_clob',sqlType: "clob"
}
}
但是当我运行它时我仍然有这个错误:
ORA-12899:值太大而不适合列" Myproject"。" JOBS"。" QUERY" (实际:1395,最大值:255)
任何人???
答案 0 :(得分:1)
从错误消息中,实际的表格列为varchar2(255)
,您试图插入一个包含1395个字符的值。
如果需要更长的值,则需要增加数据库中的列长度。你不能用varchar2
列超过4k(无论如何直到12c);如果您确实需要高达64k的值,那么您需要将该列设为clob
。只是更改Groovy中的声明(或者在任何地方,我不确定varchar(63760)
在哪里!)不会影响数据库本身中列的大小。
答案 1 :(得分:1)
这应该有效
class Jobs {
String query
static constraints = {
query maxSize: 63760 // remove this unless you really want to limit the size to 63760
}
static mapping = {
query type: 'text'
}
}