Problem
public void delete(Object entity) {
EntityManager entityManager = entityManagerFactory.createEntityManager();
Session session = entityManager.unwrap(Session.class);
session.delete(entity);
session.flush();
entityManager.close();
}
위 코드를 이용하여 entity를 제거하려고 했더니 detached instance를 제거하려 했다고 Exception을 throw했다.
Solution
public void delete(Object entity) {
EntityManager entityManager = entityManagerFactory.createEntityManager();
Session session = entityManager.unwrap(Session.class);
//session.delete(entity);
session.delete(entityManager.contains(entity) ? entity : entityManager.merge(entity));
session.flush();
entityManager.close();
}
위와 같이 수정하면 문제가 해결된다.
Reference
728x90
반응형
'Computer Science > Web Programming' 카테고리의 다른 글
[CSS] 티스토리 블로그 스킨의 제목 스타일 수정 (0) | 2021.03.24 |
---|---|
[CSS] 티스토리 기본 스킨 오디세이 적용 후 카카오 애드핏 오류 수정 (Odyssey, kakaoAdfit) (0) | 2021.02.10 |
[CSS] 티스토리 기본 스킨 Odyssey의 코드블럭 (Code block) 수정 (0) | 2021.02.09 |
[JPA] javax.persistence.TransactionRequiredException: Executing an update/delete query (0) | 2021.02.09 |
[CSS] 티스토리 기본 스킨 Odyssey의 글 제목 (Article header) 수정 (0) | 2021.02.09 |