@Embedded
および@Embeddable
の使用方法Hibernateでは何ですか?インターネット上にあるすべての例は、1つのテーブルの中にデータを挿入し、2つの異なるクラスを使用してデータを挿入するためです。私が指摘するのは、単一のテーブルを使用している場合、すべての列を1つのクラスにマップすることができます。次に、別のクラスを使用する必要があります。 2つの異なるテーブルを使用すると、one-to-one
とone-to-many
の休止関係があります。@EmbeddableをHibernateで使用する理由
答えて
は
値がオブジェクト
2.エンティティが一人で立つことができないオブジェクトで休止状態
1.値オブジェクト内のオブジェクトの2種類があります。たとえば、Address
とします。あなたが住所と言うなら、人々は誰の住所なのかを尋ねるでしょう。それで、それは一人で立つことはできません。
エンティティオブジェクトは、College
とStudent
のように独立している人です。
値オブジェクトの場合、エンティティオブジェクトにエンベッドするのが好ましい方法です。
2つの異なるクラスを作成する理由を答えるには:まず、クラス間の結合がゆるく、結合が強くなければならないというOOPSの概念です。つまり、特別な目的のためだけにクラスを作成する必要があります。たとえば、Student
クラスには、Student
に関連する情報のみが必要です。
第2のポイントは、異なるクラスを作成することによって再利用性を促進することです。
エンティティクラスの値オブジェクトを定義するときは、@Embeddable
を使用します。
我々はエンティティクラスに値型のオブジェクトを使用する場合、我々は@Embedded
エンティティが別のエンティティに埋め込むことができる1つを使用します。エンティティの属性は、複数のエンティティの共通属性とすることができます。この場合、埋め込み可能なエンティティは1つあります。そして、この埋め込み可能なエンティティは、複数のエンティティに埋め込むことができます。
例を考えてみましょう。 name
とlocation
の属性を持つ1つのAnimal
エンティティがあります。今や、2つの異なるエンティティLion
とElephant
は、Animal
エンティティを埋め込むだけで、Animal
の属性を持つことができます。属性をオーバーライドできます。 Animal
にはlocation
属性があり、Elephant
にはplace
属性があります。だから我々は、以下のように行うことができます@AttributeOverrides
の助けを借りて:
@AttributeOverrides({ @AttributeOverride(name = "location", column = @Column(name = "place")) })
これは、https://www.concretepage.com/hibernate/example-embeddable-embedded-hibernate-annotationのパラ相のようです。はいの場合は、その記事への参照を追加するか、何とかそれを引用としてマークする必要があります。 – Hervian
- 1. Hibernate Embeddableクラスのオプションフィールド
- 2. Hibernate Searchの使い方、使用する理由とその理由
- 3. Embeddable、Hibernate内の多対1の関係
- 4. HibernateのsessionFactoryがスレッドセーフである理由
- 5. サブクラスの2番目の@EmbeddableフィールドをHibernateにマッピングする
- 6. ソートをソートする理由累積を使用する理由
- 7. hibernate @OneToOneと@ManyToOneがEager Loadingと@OneToManyを使用する理由と@ManyToManyがLazy Loadingを使用する理由は何ですか?
- 8. フレックスイベントで「バブル」を使用する理由
- 9. fcloseでsegfaultを使用する理由
- 10. ブラウザでES6を使用する理由
- 11. IWindsorContainerでIKernelを使用する理由
- 12. ラムダで# 'を使用する理由は?
- 13. laravelでガードを使用する理由
- 14. MonadStateでMultiParamTypeClassesを使用する理由
- 15. Dで@propertyを使用する理由
- 16. CodeigniterでSlugを使用する理由
- 17. flafでkafkaを使用する理由
- 18. RailsでEmber.jsを使用する理由
- 19. @AutowiredをSpringで使用する理由
- 20. MongoでElasticSearchを使用する理由
- 21. Fluxでスイッチを使用する理由
- 22. Netty:TimeServerHandlerでChannelInboundHandlerAdapterを使用する理由
- 23. rでnullを使用する理由
- 24. Androidでstrings.xmlを使用する理由
- 25. C#でプライベートクラスを使用する理由
- 26. XMLマッピングファイルに対応するHibernate @embeddable注釈?
- 27. jpa/hibernateで削除する前にエンティティをマージする理由
- 28. JPA:インターフェイスで@Embeddableと@EmbeddedIdを使用する
- 29. JumboEnumSetを使用する理由とその理由
- 30. NHibernateのHibernateの@embeddable/EFのComplexTypeConfigurationに相当しますか?
今私は2つの異なるクラスを作成するためのロジックを理解し、私は組み込みを考えていたと埋め込みは、単一のテーブルのみに適用されますか?または複数のテーブルに使用することができます – NaN
私は試みたことはありませんが、私はそれに直接的な害を見ることができないので、私たちは使用することができると信じて – ankit
他のオブジェクトへの依存性は、例えば、アドレスは、一般的にエンティティまたはコンポジション/アグリゲーションとして再利用およびモデリングできます。 –