Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate Spring3表单+;ModelAttribute+;检测实体_Hibernate_Spring_Entity_Jpa 2.0 - Fatal编程技术网

Hibernate Spring3表单+;ModelAttribute+;检测实体

Hibernate Spring3表单+;ModelAttribute+;检测实体,hibernate,spring,entity,jpa-2.0,Hibernate,Spring,Entity,Jpa 2.0,在使用Spring窗体和Hibernate保存实体时,我使用以下控制器方法(简化)来完成此操作 @Transactional @RequestMapping(value="/speichern", method = RequestMethod.POST) public void saveEvent(final @ModelAttribute("__eventData") MDKEvent p_event) { em.persist(p_event); } // saveEvent 当

在使用Spring窗体和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)
    ...
提交表单后,实体处于非托管状态(这很有意义)。如何保存更新的实体?正确的方法是什么

我正在使用Spring3和Hibernate3.5。

em.merge(p\u事件)
将起作用。我得到了一个不同的错误,没有看到它基本上做了我正在寻找的