Hibernate xml映射-在不同的外键列上进行联接

时间:2019-02-04 12:10:45

标签: sql postgresql hibernate hibernate-mapping

我正在将休眠3与XML实体定义一起使用。我想将表person_data的某些列连接到基于表employee的实体中。问题在于该关系是在employee.person_data_idperson_data.person_id上定义的。

<hibernate-mapping package="...">
    <class name="Employee" table="employee">

        <id name="id" column="id" type="java.lang.Long">
            <generator class="identity"/>
        </id>

        <property ... />
        <property ... />
        <property ... />

        <join table="person_data">
            <key column="person_id" foreign-key="person_data_id"/>
            <property ... />
        </join>

    </class>
</hibernate-mapping>

但是生成的SQL语句包含:

... FROM employee JOIN person_data ON employee.id = person_data.person_id ...

看起来像key列已正确使用,但是以某种方式我无法告诉hibernate使用employee.person_data_id作为外键。我认为属性foreign-key是用于此目的的,但也许不是。

(我知道我可以通过使用many-to-one关系来解决此问题,但随后我必须使用实体'PersonData'作为'Employee'的组成部分。)

0 个答案:

没有答案