У меня есть проект Java EE с использованием JPA (transaction-type = "JTA" ), спящий режим как поставщик. Я пишу свой beans для обработки вещей 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
Как это вызвано и как я могу его решить?