Я уже некоторое время пользуюсь Hibernate и привык к большинству распространенных сообщений об ошибках. Большинство указывает мне прямо на проблему, но у меня были проблемы с этим:
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session
Я понимаю ошибку (у сеанса есть два разных объекта с одинаковым идентификатором), но я не знаю, как найти хороший способ отладки моего кода, чтобы найти источник проблемы. Обычно я смотрю на код, который я сейчас изменяю, и ищу места, где я загружаю один объект и вручную создаю другой, надеясь, что смогу найти простую ошибку в моей логике. Однако в настоящее время я работаю с кодовым набором, который я не написал, с которым я не знаком, и который не имеет документации. Единственное решение, которое я могу придумать, - это построчно просматривать код в надежде найти ошибку. Знаете ли вы о лучшем способе отладки этой ошибки?
Кроме того, точная ошибка, которую я получаю, связана с вызовом saveOrUpdate()
, что заставляет меня задаться вопросом, вызывает ли он save()
, когда должен вызываться update()
. Есть ли способ отыскать объекты, которые есть в Hibernate в текущем сеансе, для целей отладки?