2012-03-11 2 views
0

Я использую JPA. При выполнении нескольких транзакций я получаю следующую ошибку.JPA org.hibernate.NonUniqueObjectException

Например добавить

  1. Добавить событие 21

  2. Добавить событие 22

  3. Удалить 22

  4. Удалить 21

Теперь, когда я вхожу, чтобы добавить новое событие, это указывает на то, что с этим сеансом уже связан другой объект.

org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.domain.Event#22] 

Я думаю, что понимаю, что происходит, но я не уверен, как решить эту проблему.

Благодаря

ответ

0

Вы пробовали топить сеанс до воссоздания удаленного объекта?

session.flush(); 
+0

Я попытался выполнить флеш, и это не сработало. Попытка слияния также не рассматривала проблему. –

+0

И вы пробовали промывать и очищать его? –

+0

Я попытался очистить его, прежде чем начать транзакцию. На самом деле это так сильно помогло. Проблема в том, что я получаю устаревшие исключения и из индекса, и этот характер после этого исправления. Я думаю, у меня есть 3 задачи 1) Удалить 2) Добавить 3) Обновить задачу. Я думаю, что если я смогу исправить удаляемую часть, она сможет решить проблему, но все равно останется. –