@Embedded
と@Embeddable
In Hibernateの用途は何ですか? 私がインターネットで見つけたすべての例は、単一のテーブル内にデータを挿入し、2つの異なるクラスを使用してそれを行うためです。私のポイントは、単一のテーブルを使用している場合、単一のクラス内のすべての列をマップできるのに、なぜ別のクラスを使用する必要があるかということです。2 つの異なるテーブルを使用する場合one-to-one
、one-to-many
休止状態の関係があります。
質問する
49078 次
3 に答える
107
Hibernate には 2 種類のオブジェクトがあります
1. 値オブジェクト
2. エンティティ
値オブジェクトは、単独では使用できないオブジェクトです。たとえばAddress
、あなたが住所を言うと、人々はこれが誰の住所か尋ねます。そのため、単独で立つことはできません。
Entity ObjectsCollege
は、 やのように独立できるものですStudent
。
したがって、値オブジェクトの場合は、それらをエンティティ オブジェクトに埋め込むことをお勧めします。
2 つの異なるクラスを作成する理由を説明すると、まず第一に、クラス間で疎結合と高い結束を持たなければならないというのが OOPS の概念です。つまり、特別な目的のためだけにクラスを作成する必要があります。たとえば、Student
クラスには に関連する情報のみを含める必要がありますStudent
。
2 番目のポイントは、さまざまなクラスを作成することで、再利用性を促進することです。
エンティティ クラスの値オブジェクトを定義するときは、 を使用します@Embeddable
。
使用するエンティティクラスで値型オブジェクトを使用する場合@Embedded
于 2013-10-13T04:29:35.233 に答える