Что такое правильный запрос Hibernate для извлечения данных из одной таблицы на основе данных в другой таблице? - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть две таблицы, Device содержит подробную информацию об устройстве, в том числе, если оно назначено, и CustDevice, который содержит дополнительную информацию для устройств, которые были назначены клиенту.

Мне нужно выбрать записи изТаблица устройств, если она была назначена конкретному клиенту.

Мой первый наивный удар по запросу был:

с устройства, где Device.deviceId = CustDevice.deviceId и Device.status= 2 и CustDevice.accountId = 33

Это, очевидно, не работает, но объясняет отношения, которые я пытаюсь установить.Я попытался добавить объединение в микс, но я не знаю правильный синтаксис для объединения двух таблиц.

Я пытался:

из Device dev join dev.deviceId CustDevice гдеdev.deviceId = CustDevice.deviceId и dev.deviceStatus = 2 и CustDevice.accountId = 33

Но это тоже не работает.Может кто-нибудь помочь мне с этим запросом?Спасибо

1 Ответ

0 голосов
/ 11 февраля 2012

Это звучит как левое соединение, то есть вся таблица плюс объединенная таблица, если на нее есть ссылка.

Вот и статья о левом соединении в Hibernate.

http://www.jairrillo.com/blog/2009/01/29/how-to-use-left-join-in-hibernate-criteria/

...