1

grails がすべてのドメイン クラスに id および version フィールドを追加するように、文字列型フィールドをクラス (つまり、そのクラスのすべてのインスタンス) に追加する方法は? 可能であればフィールドの型をString/Longなどに指定する方法

編集:

追加されたフィールドは DB で更新されません。それらを永続化する方法は?

4

2 に答える 2

2

POGO に関しては、ExpandoMetaClass を使用して、プロパティ/フィールド/コンストラクターを追加/オーバーライドできます。

class Foo{
   String bar
}

//Add a field to Foo at runtime
//Type is set to String in this case
Foo.metaClass.baz = "Hello World"

//Add a method to Foo at runtime
Foo.metaClass.doSomething = {String str -> str.reverse()}

assert new Foo().baz == "Hello World"
assert new Foo().doSomething("Hello") == "olleH"
于 2013-08-28T03:22:02.930 に答える