59

@Embedded@EmbeddableIn Hibernateの用途は何ですか? 私がインターネットで見つけたすべての例は、単一のテーブル内にデータを挿入し、2つの異なるクラスを使用してそれを行うためです。私のポイントは、単一のテーブルを使用している場合、単一のクラス内のすべての列をマップできるのに、なぜ別のクラスを使用する必要があるかということです。2 つの異なるテーブルを使用する場合one-to-oneone-to-many休止状態の関係があります。

4

3 に答える 3

107

Hibernate には 2 種類のオブジェクトがあります
1. 値オブジェクト
2. エンティティ

値オブジェクトは、単独では使用できないオブジェクトです。たとえばAddress、あなたが住所を言うと、人々はこれが誰の住所か尋ねます。そのため、単独で立つことはできません。

Entity ObjectsCollegeは、 やのように独立できるものですStudent

したがって、値オブジェクトの場合は、それらをエンティティ オブジェクトに埋め込むことをお勧めします。

2 つの異なるクラスを作成する理由を説明すると、まず第一に、クラス間で疎結合と高い結束を持たなければならないというのが OOPS の概念です。つまり、特別な目的のためだけにクラスを作成する必要があります。たとえば、Studentクラスには に関連する情報のみを含める必要がありますStudent

2 番目のポイントは、さまざまなクラスを作成することで、再利用性を促進することです。

エンティティ クラスの値オブジェクトを定義するときは、 を使用します@Embeddable
使用するエンティティクラスで値型オブジェクトを使用する場合@Embedded

于 2013-10-13T04:29:35.233 に答える