0

There is a domain class with field id being injected by Grails. Instantiating such a class with a map results in id == null:

def obj = DomainClass.class.newInstance(id:100, name:'Joe')
assert obj.id != null // it fails

What is the best practice to assign all the hidden properties in Grails?

4

1 に答える 1

1

DSL を使用して、GORM がデータベースの識別子を生成する方法をカスタマイズできます。デフォルトでは、GORM は ID を生成するためにネイティブ データベース メカニズムに依存しています。ドキュメントを確認して、ドメイン クラスの識別子の生成方法をカスタマイズしてください。

static mapping = {
    id generator: 'assigned'
}

ジェネレーターが割り当てられたときのコンストラクターでの ID 初期化に関するバグがあります。このバグの一時的な回避策については、このブログ投稿を参照してください: Assigning ID for domain objects in Grails via constructor

于 2012-11-08T12:35:16.190 に答える