Hibernate для получения списка примитивных целых чисел для подвыбора - PullRequest
0 голосов
/ 18 мая 2009

Нет ли способа с Hibernate вернуть список (примитивных) значений из одного столбца в таблице? Мне нужно это для подвыбора, где мне нужны только строки, в которых определенного поля нет в списке идентификаторов из другой таблицы.

Ответы [ 3 ]

3 голосов
/ 18 мая 2009

Можете ли вы использовать Hibernate raw SQLQuery?

SQLQuery q = getSession().createSQLQuery("select int_column from table");
List<Integer> list = (List<Integer>) q.list();
2 голосов
/ 18 мая 2009

ну, это оказалось так просто, как что-то вроде следующего, из URL https://www.hibernate.org/hib_docs/nhibernate/html/queryhql.html, который был фактически одним из первых результатов, которые я нашел при поиске в Google, но я был обеспокоен, что это может быть специфично для NHibernate

from Eg.DomesticCat as cat where cat.Name not in ( 
select name.NickName from Eg.Name as name )
0 голосов
/ 18 мая 2009

Не знаю об использовании самого механизма hibernate, я думаю, что это будет зависеть от того, как вы отобразили свои объекты модели, если вы не видите отображения, вы можете пройти через объект сеанса hibernate и использовать стандартный SQL;

session.createSQLQuery("select idCol from someTable where someId not in (
select someId from anotherTable)");

Затем используйте метод list () в запросе и используйте автобокс для массива primtive int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...