
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.11.2012, 21:55:06
|
|||
|---|---|---|---|
Вопрос по JPA |
|||
|
#18+
Подскажите пожалуйста. Есть сущность Person. Делаю тест. Код: java 1. 2. 3. 4. 5. 6. Выскакивает эксепшн Код: java 1. С чем это связано? Ну удалил person, и продолжаю находится внутри той же транзакции. Теперь я по имени - просто строке - хочу достать такую же person из базы. Но не тот же самый инстанц, который я уже удалил. Или дело в том, что person уже помечена к удалению, и будет удалена после транзакции, а я тут в той же транзакции запрашиваю ее? В чем тут проблема и как построить тест? Мне надо проверить, что person удалена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.11.2012, 22:03:14
|
|||
|---|---|---|---|
Вопрос по JPA |
|||
|
#18+
Код: java 1. 2. 3. Почему после выполнения этого кода не все клево? П.С. это был намек на то чтобы вы выложили код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.11.2012, 23:33:12
|
|||
|---|---|---|---|
Вопрос по JPA |
|||
|
#18+
Ну вопрос вот в чем - в тесте открывается сессия - я удаляю сущность из базы и тут же хочу поверить, что ее там нет - пытаюсь считать ее по name. Получается, что она еще в кэше - то есть hibernate еще не удалил ее фактически. А я прошу Hibernate считать ее же - по имени. В той же транзакции. Hibernate ругается - deleted entity passed to persist. !То есть он ее пометил на удаление но не удалил еще? В чем тут проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.11.2012, 23:42:55
|
|||
|---|---|---|---|
|
|||
Вопрос по JPA |
|||
|
#18+
osonНу вопрос вот в чем - в тесте открывается сессия - я удаляю сущность из базы и тут же хочу поверить, что ее там нет - пытаюсь считать ее по name. Получается, что она еще в кэше - то есть hibernate еще не удалил ее фактически. А я прошу Hibernate считать ее же - по имени. В той же транзакции. Hibernate ругается - deleted entity passed to persist. !То есть он ее пометил на удаление но не удалил еще? В чем тут проблема? Всё верно. Нужно вызвать flush(), чтобы сбросить состояние кэша первогоуровня в базу. Желательно ещё и закомитить и проверить из другой транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2130477]: |
0ms |
get settings: |
11ms |
get forum list: |
27ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
90ms |
get topic data: |
20ms |
get forum data: |
4ms |
get page messages: |
88ms |
get tp. blocked users: |
3ms |
| others: | 279ms |
| total: | 538ms |

| 0 / 0 |
