sql >> データベース >  >> RDS >> PostgreSQL

マッピングファイルのHibernate'Inverse'

    インバースは、リレーションシップ内のどのエンティティが、関連付けを反映するためにデータベースを更新する責任があるかを決定するだけです。

    1対多の双方向の関連付けを想定します。コードAとBには2つのクラスがあり、AにはBのセットが含まれ、BはAへの参照を維持します。データベースレベルでは、更新する外部キーは1つだけで、Bのテーブルには主キーへの列が含まれます。 Aの。

    この場合、セット側に逆=trueを置くと仮定します。これは、エンティティをセットに追加するだけでは、外部キーの更新が起動されないことを意味します。外部キーを更新する責任はBにあるためです。したがって、Aが維持するセットにBオブジェクトを追加するだけでは、外部キー列を更新するのに十分ではありません。 objectA.addToSetOfB(objectB)は外部キーに影響を与えません。

    BにAへの参照が与えられた場合にのみ、Bのテーブルの外部キーが更新されます。したがって、objectB.setA(objectA)は確実に外部キーを更新し、実際に関係を設定します。

    同じ概念が多対多の関係にも当てはまると思います。



    1. JPA-{{NAME_HERE}}という名前のEntityManagerの永続性プロバイダーはありません

    2. Node.js用のどのMySQLドライバーがWindowsで動作しますか?

    3. UID –Oracleの現在のセッションのIDを返します

    4. phpMyAdminのユーザー'root'@'localhost'のアクセスが拒否された問題を修正