При сохранении сущности с использованием Spring Forms и Hibernate я использую следующий метод контроллера (упрощенно), чтобы сделать это.
@Transactional
@RequestMapping(value="/speichern", method = RequestMethod.POST)
public void saveEvent(final @ModelAttribute("__eventData") MDKEvent p_event) {
em.persist(p_event);
} // saveEvent
Когда я пытаюсь отредактировать его тем же методом, я получаю «обнаруженную сущность«исключение:
javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: some.package.Entity
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1235)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1168)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1174)
...
Это показывает, что объект находится в неуправляемом состоянии после отправки формы (что имеет смысл).Как я могу сохранить обновленный объект в любом случае?Как правильно это сделать?
Я использую Spring 3 и Hibernate 3.5.