![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Andrey1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: 2 Всего: 5 |
С удивлением (и трудом) обнаружил, что getResultList() дает не верный ответ. Код:
возвращаются объекты, которых нет в базе: 1) количество сущностей совпадает; 2) некоторые объекты совпадают с реальными в базе; 3) у некоторых объектов ключи поменялись местами; 4) у некоторых объектов - старое значение полей с новыми значениями ключей. Не понимаю, из-за чего такое могло получиться? PS. Реализация JPA - Hibernate. Это сообщение отредактировал(а) Andrey1 - 1.11.2009, 12:50 -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
Это сообщение отредактировал(а) Maksym - 24.10.2009, 00:44 |
|||
|
||||
| Andrey1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: 2 Всего: 5 |
Эту ситуацияю через некоторое время трудно воспроизвести, из-за того, что система все время работает.
А при перегрузке приложения - ошибка пропадает. Кроме того, есть еще другой экземпляр объекта, который выдает верный ответ. Так что баг видимо в настройках, либо неправильной работе с Entity Manager или что-то вроде того (в системе еще используются простые Native Query типа `UPDATE OBJECT SET is_b = 0'). Maksym, в следущий раз как зафиксирую ошибку - постараюсь привести те данные. Вставил дополнительную "отчитску" и пока что проблема больше не повторяется:
P.P.S: Таки нет, отчистка не помогла :(. Сейчас пробую регулярно закрывать/открывать entity manager... Это сообщение отредактировал(а) Andrey1 - 1.11.2009, 12:51 -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
| Joss |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 19.3.2006 Репутация: нет Всего: 1 |
А попробуй отключить кеширование в Hibernate. И посмотрим, будет ли возникать ошибка.
|
|||
|
||||
| Andrey1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: 2 Всего: 5 |
После того, как начал регулярно закрывать/открывать entity manager, проблема пока не повторяется. Если повторится - то нужно будет думать дальше. Кеш я не включал. Может он автоматически включается, конечно. -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
| Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Andrey1,
А где ты открываешь/закрываешь ентити менеджер? До и после выборки? У меня сейчас та же проблема. -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
| Andrey1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: 2 Всего: 5 |
Как можно раньше нужно его закрывать, я так понял. Я обычно в конце цикла закрываю. -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
| Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Andrey1,
те делается EntityManagerFactory.createEntityManager(); перед циклом а после него em.close() ? сколько времени занимает такое постоянное открытие закрытие? У меня подозрения что довольно много. -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
![]()
|
| Правила форума "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. |