Re: Вопрос по Hibernate
От: Blazkowicz Россия  
Дата: 16.12.10 09:27
Оценка:
Здравствуйте, Jeremy, Вы писали:

J>Но вот возникла ситуация, когда в цепочке A -> B -> C отсутствует последний элемент, то есть в таблице С нет записи с идентификатором указанным в таблице B. При этом бросается "org.hibernate.ObjectNotFoundException", что есть правильно. Однако с точки зрения логики моей программы эта ошибка не должна приводить к фатальным последствиям,

У вас целостность базы нарушена и это не должно приводить к фатальным последствиям??? Почему констрейнта на FK нет?

J>то есть я ее ловлю, пишу в лог и продолжаю работать дальше. И вот здесь возникает проблема. При попытке закоммитить транзакцию бросается новая ошибка типа "org.hibernate.HibernateException: Found two representations of same...". Анализ стектрейса показывает, что происходит эта беда при session.flush() что случается перед коммитом транзакции. Причем в сессии я вижу висящим

J>обьект A загрузка которого вызвала ошибку №1 (и попытка сохранить который приводит к ошибке №2).
J>Вопрос такой — почему вообще обьект А оказался в сессии — ведь он не был до конца загружен, то есть по идее находится в невалидном состоянии? Как с этим бороться?
Хотелось бы все же увидеть полный текст ошибки, stacktrace и немного кода. Ибо ошибка Found two representations of same collection у меня с вашим A-B-C что-то не вяжется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.