使用注释的备用键关联

Associations on alternate keys using annotations

我正在尝试使用 JPA Annotations for Hibernate 实现以下关联:

 <class name="Person">
    <id name="id">
        <generator class="hilo"/>
    </id>

    <set name="accounts" inverse="true">
        <key column="userId" property-ref="userId"/>
        <one-to-many class="Account"/>
    </set>

    <property name="userId"/>
</class>

<class name="Account">
    <id name="accountId" length="32">
        <generator class="uuid"/>
    </id>

    <property name="userId"/>
</class>

或者,我需要根据而不是主键进行带注释的关联。

有什么实现方法吗?

示例取自 Hibernate Associations on alternate keys

经过不断的搜索,我找到了以下两个链接给了我答案:

https://hibernate.atlassian.net/browse/HHH-4479

还有 Hibernate @JoinFormula

对我来说,它的作用是:

@OneToMany
@JoinColumnsOrFormulas({
@JoinColumnOrFormula(column = @JoinColumn(name = "userId", referencedColumnName="userId"))
})
private Set<Account> accounts;