我正在使用一个使用hbm.xml文件映射数据库的Hibernate应用程序。我有两个表,试图使用join标签合并为一个实体。我认为这与@SecondaryTable批注相同。我有它的工作,除了联接内的那些属性是公式。如果该属性是公式,则Hibernate抱怨说它无法解析该属性。我的hbm看起来像这样:
<Class entity-name="Event">
<!-- Event properties here -->
<join table="EVENT_DETAILS" schema="DATA_OWNER">
<key>
<column name="ED_EVENT_ID" not-null="true" precision="22" scale="0"></column>
</key>
<property name="EdUserAdd" type="string">
<column length="255" name="ED_USER_ADD">
<comment>User that added the record</comment>
</column>
</property>
<property name="EdEventType" type="string" formula="(SELECT REF_EVENT_TYPE.DSC FROM REF_OWNER.REF_EVENT_TYPE WHERE REF_EVENT_TYPE.CD = ED_EVENT_TYPE)"></property>
</join>
请忽略我错过的任何错别字,因为我无权访问实际代码。在上面的示例中,EdUserAdd属性有效,但EDEventType无效。完全相同的EDEventType公式可以在主类中的另一个类中正常工作。我需要做什么才能使公式生效? Hibernate版本是5.2.10