У меня есть ситуация, в которой мне нужно повторно присоединить отдельные объекты к сеансу гибернации, хотя в сеансе МОЖЕТ уже существовать объект с таким же идентификатором, что приведет к ошибкам.
Прямо сейчас я могу сделать одну из двух вещей.
getHibernateTemplate().update( obj )
Это работает тогда и только тогда, когда объект не существует в сеансе гибернации. Выдаются исключения, указывающие, что объект с данным идентификатором уже существует в сеансе, когда он понадобится мне позже.getHibernateTemplate().merge( obj )
Это работает, если и только если объект существует в сеансе гибернации. Исключения генерируются, когда мне нужно, чтобы объект был в сеансе позже, если я использую это.
Учитывая эти два сценария, как я могу в общем случае присоединять сеансы к объектам? Я не хочу использовать исключения для управления потоком решения этой проблемы, так как должно быть более элегантное решение ...
refresh()
отдельные объекты? Просматривая спецификации 2.0, я не вижу никакого оправдания; просто это не разрешено.