2

Grailsドメインオブジェクトの1つのプロパティとして、Groovy Closure(シリアル化可能とされる)を永続化しようとしています。現在、私は基本的にこれを行っています:

class MyClass {
    ....
    Closure myClosure
    static mapping = { myClosure size: 1024 * 1024, type: 'blob' }
}
new MyClass(myClosure: { ... do some stuff .. }.dehydrate()).save()

'blob'を'binary'に変更しようとしましたが、機能しません。次のようなエラーが発生します: context.GrailsContextLoaderブートストラップの実行エラー:BootStrap$_obj_closure3をjava.sql.Blobにキャストできません

クロージャを保存できるようにするには、ドメインオブジェクトをどのように設定する必要がありますか?

Groovy2.0でGrails2.1.1を使用しています

4

1 に答える 1

3

私はこれが必要でした:

static mapping = {
    myClosure sqlType: 'blob'
}
于 2012-11-15T01:14:55.553 に答える