[JPA] EntityManager의 merge() 동작 방식 유의점
JPA를 통한 테스트 구현 과정에서 entityManager의 merge()를 사용해 준영속인 엔티티를 다시 영속화하고 변경 감지를 아래처럼 사용하려 했으나 제대로 적용되지 않았다. entityManager.merge(entity); entity.proceed(); // 상태 변경 메서드 entityManager.flush(); 준영속 상태인 엔티티를 다시 영속화하고 상태를 변경하였는데 변경 감지가 동작하지 않았다. merge() 시에 select 쿼리가 나가기는 하나 proceed() 시에 update 쿼리가 나가지는 않았다. proceed() 이후 entityManager.contains(entity)로 영속화 여부를 확인해도 false가 출력되었다. 아래와 같이 순서를 바꾸니 변경 내용을 정상적으로..
JPA
2023. 9. 26. 15:30
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 생성자 주입
- 우테코 프리코스
- JPA
- Jenkins 예약 배포
- Spring
- 우테코
- JPA JSON
- GitHub Discussion Template
- invokedynamic
- MySQL 이벤트 스케줄
- Spring Boot Monitoring
- Fromtail
- multiplebagsfetchexception
- logback-spring.xml
- Java
- 자바
- springboottest
- stubbing
- Payload 암호화
- 우테코 5기
- MySQL
- RandomPort
- 스프링
- 의존성 주입
- GitHub Discussion
- GitHub Discussion 템플릿
- 람다식
- 함수형 인터페이스
- java switch case
- Spring 테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함