我有Trade_PAC_UNADJUSTED
和Trade_PAC_ADJUSTED
之类的表。其他区域相似。表结构相同,并且都属于同一schema
。我如何映射这些表。我不想在.hbm
文件中重复类条目的属性。同样,我的POJO
类对于所有这些人都是相同的。
请帮忙。
是否可能有这样的事情:
<class name="com.Bean" table="TRADE" entity-name="TRADE">
<discriminator type="string">
<column name="PROCESSING_LOCATION" />
</discriminator>
<property name="..........></property>
<subclass name ="com.Bean" discriminator-value="PAC">
<discriminator type="integer">
<column name="RUN_ID" />
</discriminator>
<subclass name ="com.Bean" discriminator-value="1" entity-name="TRADE_PAC_UADJUSTED"/>
<subclass name ="com.Bean" discriminator-value="2,3,4,5,6,7,8,9" entity-name="TRADE_PAC_ADJUSTED"/>
</subclass>
</class>
但是没有办法在子类中传递表名吗?
最佳答案
如果创建一个新的POJO对象并要求Hibernate保存它,它将如何知道应该插入哪个表中?您将在POJO中需要一些信息来告诉它要走的路。
您可能可以使用Hibernate的“区分符”来做到这一点,以将其视为继承方案。