我可以使用查询作为多对一映射的输入吗?

时间:2016-02-25 17:11:56

标签: hibernate many-to-one named-query

如何使用hibernate在多对一映射中使用命名的sql查询?

<many-to-one name="accountSetting" class="maxAccountSetting">
        <column name="AC_ACCOUNT" sql-type="VARCHAR2" length="10"/>
</many-to-one>
<sql-query name="maxAccountSetting">
    <return alias="accountSetting" class="interfaces.model.AccountSetting"/>
        SELECT ...
</sql-query>

如果这不可能,有没有办法根据已经创建的类定义一个类,比如在命名查询中?

<class>
    <id name="interfaces.model.AccountSetting"/>
    <subselect>
        SELECT ...
    </subselect>
</class>

目标是在当前的hibernate定义中使用另一个表作为多对一映射,但我不能使用“原始”表,因为它在我用来加入两者的密钥中有重复项。目的是通过加入AC_ACCOUNT并将“eee”作为最大值来合并“fff”列。

这是表结构:

BALANCE {
    AC_ACCOUNT PK
    aaa PK
    bbb PK
    ccc
    ddd
}
ACCOUNT_SETTING {
    AC_ACCOUNT PK
    eee PK
    fff
    ggg
}

0 个答案:

没有答案