Spring 3 Forms + ModelAttribute + Deteched Entity

При сохранении объекта с использованием Spring Forms и Hibernate я использую для этого следующий метод контроллера (упрощенный).

@Transactional
@RequestMapping(value="/speichern", method = RequestMethod.POST)
public void saveEvent(final @ModelAttribute("__eventData") MDKEvent p_event) {
     em.persist(p_event);
} // saveEvent

Когда я пытаюсь отредактировать его, используя тот же метод, я получаю исключение «deteched entity»:

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.


person Community    schedule 16.07.2010    source источник


Ответы (1)


em.merge(p_event) будет работать. Я получил другую ошибку и не видел, что она делает в основном то, что я ищу.

person Community    schedule 16.07.2010