Получить первый бесплатный номер из колонки - PullRequest
1 голос
/ 17 января 2011

Я хотел бы получить первый номер из столбца.

В столбце у меня есть номера:

1 2 3 4 6 8

Итак, первый бесплатный номер: 5 Вставьте 5 в этот столбец Второй звонок должен вернуться: 7 вставить 7 в этот столбец Еще один звонок должен вернуться: 9 [...]

Я знаю, как написать этот SQL, но проблема в том, что этот столбец имеет тип диаграммы. Так что можно быть таким:

1 2 3 б с 7 8 9

Это также не проблема, я могу использовать некоторую функцию isNumeric для отфильтрованных записей, но я должен сделать это на HQL.

Моя идея примерно такая:

ВЫБРАТЬ различные минимальные (значения) ИЗ таблицы, ГДЕ число + 1 НЕ ВХОДИТ (ВЫБРАТЬ charColumn ОТ таблицы)

Спасибо

1 Ответ

2 голосов
/ 17 января 2011

Если вы знаете, как написать это в SQL, воспользовавшись одним из следующих способов, вы можете добиться этого, используя hibernate.

  1. Вы можете напрямую написать собственный SQL-запрос в режиме гибернации, используя метод сеанса createSqlQuery ().
    См. Этот URL для получения дополнительной информации;http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html
  2. ИЛИ - Создайте свой запрос Sql и вызовите его из своего кода, связав его с вашим классом сущности.
...