![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Собственно сабж.
Код мне казался настолько очевидным, что я его даже не проверял. А когда это обнаружилось, то поставило меня в тупик. Если нет указанного id, то Hibernate бросает ObjectNotFoundException, но вот поймать его не получется, происходит возврат из метода, минуя catch. Как поймать и обработать исключение, если объекта с заданным id нет?
-------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
check |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
надо сначала разобраться с этим нуллом, а потом уже приводить к чему-либо полученное значение. Это сообщение отредактировал(а) check - 7.6.2008, 22:31 |
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
по доках, он не нулл возвращает, а бросает HibernateException.
diablero, а объект с указанным ид точно в базе не существует? |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
||||
|
||||
check |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
Сорри, я в момент написания предыдущего поста думал о своём и потому забыл прочитать вопрос
![]() |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
точно. Тут дело даже не в том, что он возвращает не null, а почему происходит возврат из метода минуя catch. Я дебагером вижу, что метод load кидает ObjectNotFoundException, и мне как бы по барабану что случилось, мне нужно чтобы мой метод возвращал объект, либо null и больше ничего. Это сообщение отредактировал(а) diablero - 8.6.2008, 11:40 -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
diablero, не читали?.
Предположу, что метод load() возвращает proxy instance т. е. не null и исключение не генерируется либо ловится и обрабатывается Hibernate'ом. Возможно поэтому в вашем методе вы его поймать не можете. Возможно также, что оно генерируется позже, при обращении к данным (lazy loading) из другого места в коде. Проверьте этот момент. Это сообщение отредактировал(а) ivg - 8.6.2008, 12:41 |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Я отказался от сего необъяснимого и непонятного и перевел все запросы такого типа на Criteria. Так все работает четко.
-------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |