2 つのエンティティがあり、それらの間に多対 1 の関係があります。多くの B エンティティは A エンティティに関連しています。私の B テーブルにはA_ID
列があります。状況によっては、A のどの行にも関連付けられていない B エンティティがある場合がありA_ID
ます。これは理想的ではないことはわかっていますが、古いシステムの一部であり、コードのこの部分に実際に触れることはできません。 .
setA()
適切な Hibernate エンティティを使用すると、B のメソッドと B のメソッドを使用して関連付ける A エンティティがあるときに、B エンティティを追加できgetAs().add()
ます。A エンティティに関連付けられていない B エンティティを追加したい場合に対処する方法がわかりません (A_ID = 10
たとえば、 B's で A が存在しない場合ID = 10
)。これは可能ですか、それともこの時点でエンティティ階層を壊して手動で処理するのに行き詰まっていますか?
setAId()
B エンティティに a を追加し、それまたはsetA()
メソッドのいずれかを使用するが、両方を使用しない方法はありますか? Hibernate はこれを許可しますか? B にゲッターとセッターを追加しようとすると、次のエラーが発生します。
MyHibernateException: Hibernate SessionFactory creation failed, hibernateCfgFileNm=hibernate.xml
...
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: test.B column: A_ID (should be mapped with insert="false" update="false")
コードを提供していないことをお詫び申し上げます。この説明で十分だと思いますが、コードが必要な場合は追加できます。