オブジェクトをリレーションに追加して永続化するにはどうすればよいですか?Grails更新の参照
私はその
registrationInstance.addToActionType(id:id)
ような何かを行う場合、私は例外
Unique index or primary key violation: "PRIMARY_KEY_E7 ON PUBLIC.ACTION_TYPE_REGISTRATIONS(ACTION_TYPE_ID, REGISTRATION_ID)"; SQL statement: insert into action_type_registrations (action_type_id, registration_id) values (?, ?) [23001-147]
EDIT取得:
私は
registrationInstance.addToActionType(ActionType.get(id))
を記述する場合、私は同じエラーを取得し、しかしそれは持続する - だからどのようにそのエラーを取り除くことはできますか?
EDIT2:
私はオブジェクト削除しようとすると:
registrationInstance.removeFromActionType(ActionType.get(id))
を私は次のエラーをreceve(時々、ないオールウェイズ)
Eindeutiger Index oder Primarschlüssel verletzt: "PRIMARY_KEY_E7 ON PUBLIC.ACTION_TYPE_REGISTRATIONS(ACTION_TYPE_ID, REGISTRATION_ID)" Unique index or primary key violation: "PRIMARY_KEY_E7 ON PUBLIC.ACTION_TYPE_REGISTRATIONS(ACTION_TYPE_ID, REGISTRATION_ID)"; SQL statement: update action_type_registrations set action_type_id=? where registration_id=? and action_type_idx=? [23001-147]
私もこれを試しましたが、同じエラーが発生します –
代わりに 'ActionType.load(id)'を使用します。データベースからインスタンスを取得するのではなく、プロキシを作成するだけです。あなたは外来キーを設定しているだけなので、それを読み込んで投げるよりもずっと安いです。 –