Hibernate ベースの (33.) Web アプリケーションがあり、一意のインデックスによって制限されたデータ値ペアのスワップに関連する問題が見つかりました。フライトチケットHBMには
<many-to-one name="participants" class="net.umbrella.entity.ParticipantModel" fetch="select">
<column name="PARTICIPANTID" not-null="false" />
</many-to-one>
<many-to-one name="flights" class="net.umbrella.entity.FlightModel" fetch="select">
<column name="FLIGHTID" not-null="true" />
</many-to-one>
参加者 P1 に割り当てられたチケット A と参加者 P2 に割り当てられたチケット B のデータ ペアを取り、2 人の参加者を交換することが機能的に可能です。チケット A は参加者 P2 に割り当てられ、チケット B は参加者 P1 に割り当てられます。ただし、FLIGHTID + PARTICIPANTID には一意の制約があります。
Hibernate がチケット A で参加者 P1 を P2 に変更する最初の更新を発行すると、GenericJDBCException がスローされます。
Attempt to insert duplicate key row in object 'FLIGHTTICKET' with unique index 'IDX_FLIGHTTICKET_UQ'
誰もこれに対する一般的な解決策を持っていますか?
ありがとうサイモン