2012-03-03 10 views
1

のGrails 2.0.1ここGrailsの同じタイプと1の2つのプロパティは、データベースに保持されません、エラーなし

は、ドメインの単純化されたバージョンをストリップダウンされていますデータベース内のスキーマには、AttributeParameterに2つの別個のFKがあります。 1はattribute_reference_id、1つはattribute_idです。すべてのデータが格納されたドメインを保存すると、AttributeとAttributeParameterの両方で0のエラーが発生しますが、attribute_reference_id列にはデータが入力されません。デバッグすると、私はattributeReferenceオブジェクトを見ることができ、セーブコールの後であってもIDを持っています。 Grailsは例外を投げているわけではありません(少なくともコンソールには表示されていません)。

私はデータベースに行って属性のIDをattribute_reference_id列に追加すると、GORMはそれを完全にロードします。もう一度saveを押すと、デバッグでオブジェクトが表示されていても、nullに戻ります。

なぜデータが永続していないのか本当に紛失しました。

答えて

1

私は、属性に以下を追加する必要がありました:

static mappedBy = [attributeParameters: 'attribute'] 
+0

このドメインモデリングは意味がありません。あなたはAttributeとAttributeParameterの間で1:Mを達成しようとしていますか?その場合、belongsToブロックは定義されたフィールド(この場合は属性)をドメインクラスに自動的に付加するため、attributeReferenceフィールドを削除します。 –

+0

私は私の質問で述べたように、2つの別々のプロパティです。 1つはbelongsTo/hasMany関係を定義し、attributeReferenceは追跡する必要のある別のプロパティです。 – Gregg

関連する問題