我有以下的Hibernate映射,需要使用具体类层次结构表进行映射:
这意味着在数据库中只有两个表:
- house(id_property(PK),address,noOfRooms,totalArea,price) - land(id_property(PK),address,area,unitPrice)
据我所知,在这种情况下,需要在调用.save()之前显式生成ids,因此我的问题是:如何创建一个策略来自动生成ids,以便当连接时,具体类的ids形成连续域。
<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>
这意味着在数据库中只有两个表:
- house(id_property(PK),address,noOfRooms,totalArea,price) - land(id_property(PK),address,area,unitPrice)
据我所知,在这种情况下,需要在调用.save()之前显式生成ids,因此我的问题是:如何创建一个策略来自动生成ids,以便当连接时,具体类的ids形成连续域。