【发布时间】:2013-06-06 07:35:38
【问题描述】:
我有一个使用 JPA (transaction-type="JTA")、hibernate 作为提供者的 java EE 项目。我写我的 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);
}
}
但是当我调用deleteObject 时,就会出现这个异常。
java.lang.IllegalArgumentException: 删除一个分离的实例 com.test.User#5
这是怎么引起的,我该如何解决?
【问题讨论】:
标签: jpa sql-delete entitymanager illegalargumentexception