JPA сохраняют одно и то же лицо дважды - PullRequest
0 голосов
/ 23 августа 2010

Я только что заметил, что часть кода, над которой я работал, дважды сохраняет одну и ту же сущность.Я попробовал несколько приемов, таких как flush () и Transaction REQUIRES_NEW, но ничего не получилось.Но при отладке я вижу, что после вызова persist (entity) я получаю ID (IDENTITY) для этой сущности ... но чуть позже в коде, если я посмотрю на переменные, я увижу ту же сущность сразные идентификаторы и два значения с этими идентификаторами в таблице.

Это использует Java EE 6 с Glassfish 3.0.1

1 Ответ

1 голос
/ 23 августа 2010

Какой провайдер JPA вы используете?и какая версия?

Включите ведение журнала (самое лучшее) и включите журнал того, что происходит.

При использовании EclipseLink для включения ведения журнала см.

http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging

Какое значение присваивается идентификатору вашего объекта, проверьте, чтобы оно было> 0. Также убедитесь, что ваша таблица в базе данных была создана со столбцом IDENTITY.Какую базу данных вы используете?

Попробуйте использовать последовательность TABLE, чтобы увидеть, имеет ли она отношение к последовательности IDENTITY.

Также включите исходный код для вашего класса.

...