Возврат нескольких типов объектов с использованием спящего режима с использованием внутреннего соединения

Кажется, у меня проблемы с запросом в спящем режиме. Я выполняю внутреннее соединение двух таблиц.

SELECT * FROM product p INNER JOIN warehouse w ON p.wid = w.id

Таблица продуктов:

id | name | wid | price | stock .....

Таблица складов:

id | name | city | lat | long .....

Результат соединения:

id | name | wid | price | stock | id | name | city | lat | long .....

Когда я запускаю запрос ..

Session.createSQLQuery(this.query)
        .addEntity("p", Product.class)
        .addEntity("w", Warehouse.class).list();

Итак, для каждого результата я получаю объект, содержащий Объект продукта и складской объект .

Это ожидается. Проблема заключается в том, что hibernate назначает идентификатор и имя продукта идентификатору объекта склада и свойству имени. Как будто первые два столбца в результате соединения имеют приоритет, когда дело доходит до создания проекта Warehouse. Объект Product всегда содержит правильные данные.

Мы будем очень признательны за любые предложения по поиску способа решения этой проблемы, чтобы столбцы id и name, представляющие правильные данные хранилища, были очень признательны.

Заранее спасибо.

18
задан Dan 21 September 2011 в 21:13
поделиться