我的領域類看起來是這樣的:如何讓Grails將我的字符串字段映射到Clob?
package com.initech.tps
class Foo
{
String stuff
static mapping = {
// mapping to a legacy table as opposed to letting Grails create it
table name: 'FOO', schema: 'TPS'
id generator: 'sequence', params: [sequence: 'MY_SEQ'],
column: 'FOO_ID', sqlType: 'integer'
foo column: 'STUFF'
}
static constraints = {
stuff(nullable: true, maxSize: 40000)
}
}
我下的印象的Grails會想出使用CLOB而不是基於我傳遞的最大範圍約束一個足夠大的值VARCHAR,而不是我弄在控制檯此錯誤消息:
org.hibernate.HibernateException: Wrong column type in FOO for column STUFF.
Found: clob, expected: varchar(40000)
我需要在映射的明確則sqlType?我嘗試使用不同的maxSize值,並將其完全保留,沒有任何區別。另外加入sqlType: clob
或不起作用。
我在Grails 1.3.7上使用IBM DB2-Express。
這將是做這件事,我猜。我真的很想看到一個答案,它允許我在域對象中使用一個字符串。必須有一個用戶類型。 – 2012-02-14 02:03:57