我有以下Hibernate映射,其具有使用每個具體類層次結構的表被映射:表在休眠
<hibernate-mapping package='dao'>
<meta attribute='class-description'></meta>
<class name='PropertyDAO'>
<id name='id' column='id_property'>
<generator class='assigned'/>
</id>
<property name='address' column='address' type='string'/>
<union-subclass name='HouseDAO' table='house'>
<property name='noOfRooms' column='noOfRooms'/>
<property name='totalArea' column='totalArea'/>
<property name='price' column='price'/>
</union-subclass>
<union-subclass name='LandDAO' table='land'>
<property name='area' column='area'/>
<property name='unitPrice' column='unitPrice'/>
</union-subclass>
</class>
</hibernate-mapping>
在數據庫中,這意味着我僅具有2個表:
- 房子(id_property(PK),地址,noOfRooms,totalArea,價格)
- 土地(id_property(PK),地址,面積,單價)
據我所知,在這種情況下,ids需要在調用.save()之前顯式生成,所以我的問題是:如何創建自動生成ID的策略,以便從具體類在連接時形成一個連續的域。
你的解決方案對於每個子類層次結構的表是好的,但這不是我的情況,因爲我只有2個表:房子和土地 – melculetz 2009-01-04 09:29:25