Отображение Hibernate один на один с использованием составного ключа и неосновного свойства - PullRequest
1 голос
/ 23 декабря 2010

Итак, вот моя проблема.У меня есть эти две таблицы, которые хорошо отображаются.Есть некоторые дополнительные поля, которые я удалил, потому что они не имеют значения.Мне нужно сопоставление один к одному между Item и ItemAdminScrtyGrp для владельца элемента.Я включил SQL, который я бы использовал, чтобы получить владельца элемента.Изменение схемы базы данных не вариант.Любые идеи, как я могу объединить части составного ключа и неосновное свойство для сопоставления?

Hibernate Mapping

<hibernate-mapping>
<class name="Item">
    <composite-id class="ItemKey" name="itemKey" >
        <key-property name="itemId" column="ITEM_ID" />
        <key-property name="revision" column="RVSN_ID" />
    </composite-id>
</class>
<class name="ItemAdminScrtyGrp">
    <composite-id name="key" class="ItemAdminScrtyGrpKey" >
        <key-property name="securityProfileCode" column="SCRTY_PROF_CD" />
        <key-property name="itemId" column="ITEM_ID" />
        <key-property name="revision" column="RVSN_ID" />
    </composite-id>
    <property name="securityLevelCode" column="SCRTY_LVL_TYP_CD" />
    <property name="ownerFlag" column="OWNR_FLG"/>
</class>
</hibernate-mapping>

SQL

select SCRTY_PROF_CD from ItemAdminScrtyGrp grp
join Item 
on grp.ITEM_ID = Item.ITEM_ID and 
   grp.RVSN_ID = Item.RVSN_ID and 
   grp.OWNR_FLG = 'y'
where Item.ITEM_ID = 'abc' and Item.RVSN_ID = '123';

Спасибо за любую помощь, которую вы можете предоставить.

1 Ответ

0 голосов
/ 11 ноября 2013

Кажется, есть дефект в таких отображениях. Увидеть Смотри https://hibernate.atlassian.net/browse/HHH-4939

...