Я только заметил, что часть кода, над которым я работал, сохраняет одно и то же изображение дважды. Я пробовал несколько трюков, таких как flush() и транзакция REQUIRES_NEW, но ничего не делает. Но во время отладки я вижу, что после вызова persist (entity) я получаю идентификатор (IDENTITY) для этого объекта ... но чуть позже в коде, если я посмотрю на переменные, я увижу одну и ту же сущность с другой идентификатор и два itenties с этими идентификаторами в таблице.JPA сохраняется в одном объекте дважды
Это использование Java EE 6 с Glassfish 3.0.1
Пожалуйста, добавьте код вашего объекта и код, который вы используете для его сохранения. –
На самом деле это код, созданный Netbeans. В этом случае у меня есть сервлет, вызывающий метод сеансового компонента, просто выполняющий 10 getEntityManager(). Persist (entity); Итак, когда я отлаживаю, всего несколько строк после того, как мой сервлет вызывает сессионный компонент, я вижу изменение идентификатора объекта и в БД. И часть, которую я думаю, было бы интересно в сущности: @Id @GeneratedValue (стратегия = GenerationType.IDENTITY) @Basic (опция = ложь) @column (имя = "member_id") частное Integer MemberID; –
Невозможно ответить с текущим уровнем детализации. Просьба указать код, показать, в какой момент вы видите «разные» идентификаторы. –