![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Exai1e |
|
||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 1 Всего: 30 |
Здравствуйте, возникла такая проблема:
есть метод
использую:
получаю исключение:
если делать так:
то работает, но получается, что определенный запрос задать не получиться (where... orderby...) В статье Антона Сабурова, нечего хитрого на этот счет не увидел. Подскажите как правильно сделать, спасибо. ps. еще один не большой вопрос, на тему hibernate, не стал делать новую тему: почему если делать так:
то выдается исключение на маппинг
хотя в конфиге класс указан:
еще раз спасибо Это сообщение отредактировал(а) Exai1e - 11.2.2010, 23:32 -------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
||||||||||||||
|
|||||||||||||||
MaxPayneC |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 5 Всего: 9 |
Метод list() вернет Object[], каждый элемент которого содержит Object[] с полями данной строки датасета, т.к. при использовании нативных запросов придется создавать объекты руками. Во втором вашем фрагменте кода эксепшн возникает потому, что в методе createQuery нужно писать HQL-запрос, который возможен только над примапленными сущностями. Скорее всего нужно написать в запросе User c большой буквы. По поводу критерия - и where, и orderBy использовать можно, например так (код из моего текущего проекта):
Этот метод имеет недостаток - лист придется делать без дженерика. Обращаю ваше внимание, что первым параметром нужно указывать не название колонки, а название примапленного поля в сущности. Вот тут можно почитать про критерии в подробностях: https://www.hibernate.org/hib_docs/v3/api/o...e/Criteria.html Это сообщение отредактировал(а) MaxPayneC - 12.2.2010, 00:31 |
||||
|
|||||
Exai1e |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 1 Всего: 30 |
MaxPayneC, с большой буквы, тоже не помогло:
сама таблица вот:
сам класс User:
можно пример ? что возвращает Object[], это я заметил.
Спасибо -------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
||||||
|
|||||||
MaxPayneC |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 5 Всего: 9 |
В маппинге у вас ошибка. Чтобы работало, надо следовать спецификациям JavaBeans об именах - геттеры и сеттеры для поля variableName должны иметь название getVariableName/setVariableName (с маленькой буквы, а название переменной в имени сеттера - с большой).
В таблице list_cities три поля, и каждая строка листа будет содержать Object[] c тремя элементами этой строки датасета в том порядке, в котором указаны в таблице (код кривоват, но для понимания что получим от createSQLQuery думаю сгодится):
А с HQL-запросом будет так:
И вот тут в списке будут лежать уже объекты City. Это сообщение отредактировал(а) MaxPayneC - 12.2.2010, 08:21 |
||||||
|
|||||||
Exai1e |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 1 Всего: 30 |
MaxPayneC, спасибо большое
![]() -------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |