daybreaksnow's diary

私を私と呼びたい

[Hibernate]パラダイムミスマッチ・粒度の問題の対応

Javaのクラス図
f:id:daybreaksnow:20130118214333p:plain

DBのER図
f:id:daybreaksnow:20130118214532p:plain

DB上はUserとAddressの二つのテーブルに分けたくないとする。(joinが重いから)

この場合のマッピングは、以下のようにcomponentを利用して実現できる。

・User.hbm.xml

<component name="homeAddress" class="hoge.package.Address">
	<property name="zip_code" column="home_zip_code"></property>
    	<property name="city" column="home_city"></property>
</component>