0

grails で使用したい Java の注釈付きドメイン オブジェクトがあります。これは正常に動作しますが、生成されたすべてのテンプレートIdは主キーとして使用されます。XxxConstraints.groovyドメインオブジェクトと同じパッケージにファイルを作成しようとして、追加しました

mapping = { 
    id type:'assigned', name:<name of java field>, type: string 
} 

しかし、それはうまくいかないようです。

gspをレンダリングしようとしたときに発生するエラーは"class XYZ does not contain field id"

ちなみに私はgrails 2.1.0を使っています。

事前に助けてくれてありがとう。

4

1 に答える 1

0

ビューのスキャフォールディングについて話している場合、次idのようにフィールドがハードコードされているだけです<g:hiddenField name="id" value="\${${propertyName}?.id}" />(edit.gsp のサンプル)。

GSP を手動で変更して、キー フィールドを使用するだけです。

それが複数のクラスであり、すべてのビューを生成したくない場合は、テンプレートをプロジェクト ソースにインストールし、grails install-templatesそれらを変更して PK フィールドを使用することができます。Java クラスの Groovy ラッパーにはident()メソッドがあるかもしれませんが、確かではありません。

docを見た後、 mapping{}DSL がまったく機能するかどうかは疑問です。constraintssectionだけが機能するように見えますが、 annotationだけが必要@Idだと思います。

于 2012-08-21T18:43:40.870 に答える