如何使用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
}