ORMマッピングの「所有側」を理解する
を理解するオブジェクト関連マッピング(orm)、エンティティ間の双方向関係は、「所有」の概念を必要とします。 side
双方向関係の所有側は、データベースの外部キーの制約を「所有」するエンティティを指します。これは、関係の更新は、所有側を通してのみ追跡され、持続されることを意味します。双方向の関係を実装するために、HibernateのようなOMMは追加の関連テーブルを作成するか、関係を表すために参加テーブルを維持します。所有側の概念により、関係の片側のみが追跡および更新され、潜在的なデータの矛盾を防ぐことが保証されます。 パブリッククラス部門{ @onetomany(mappedby = "department") プライベートリスト従業員。 } @実在物 パブリッククラスの従業員{ @manytoone 民間部門。 }
この例では、部門は従業員テーブルにDepartment_id外部キーを所有しているため、所有側です。部門の部門フィールドから従業員を追加または削除すると、従業員テーブルの外部キーリファレンスを自動的に作成または削除します。 パブリッククラスの人{ @onetoone(mappedby = "person") プライベートパスポートパスポート。 } @実在物 パブリッククラスパスポート{ @onetoone 個人の人; }この場合、所有側は明示的に指定されていません。 Hibernateは、注釈順に基づいてそれを推進します。人は所有側になり、最初に表示され、パスポートテーブルのPerson_id外部キーを所有しています。 パブリッククラスカート{ @onetomany(mappedby = "cart") プライベートリスト製品; } @実在物 パブリッククラス製品{ @manytoone プライベートカートカート; }
1対多様な例と同様に、カートは製品テーブルのcart_id外部キーを所有しているため、所有側です。データの整合性を保証し、不要なデータベーステーブルとデータの複製を防ぎます。関係のどちら側が所有側であるかを知ることにより、開発者は矛盾を回避し、アプリケーションとデータベースの両方でデータの一貫した表現を維持できます。。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3