相关疑难解决方法(0)

java.lang.IllegalArgumentException:删除分离的实例com.test.User#5

我有一个使用JPA(transaction-type ="JTA")的java EE项目,hibernate作为提供者.我写我的bean来处理CRUD的事情.该程序在JBOSS 7 AS中运行.

我有一个EntityManagerDAO:

@Stateful
public class EntityManagerDao implements Serializable {

    @PersistenceContext(unitName = "dtdJpa")
    private EntityManager entityManager;

    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public Object updateObject(Object object) {
        object = entityManager.merge(object);
        return object;
    }

    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void createObject(Object object) {
        entityManager.persist(object);
    }

    public void refresh(Object object) {
        entityManager.refresh(object);
    }

    public <T> T find(Class<T> clazz, Long id) {
        return entityManager.find(clazz, id);
    }

    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void deleteObject(Object object) {
        entityManager.remove(object);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我调用时deleteObject,会出现这个异常.

java.lang.IllegalArgumentException:删除分离的实例com.test.User#5

这是怎么造成的,我该如何解决?

jpa entitymanager illegalargumentexception sql-delete

51
推荐指数
1
解决办法
7万
查看次数