![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/sSgpX/btsvM0Cim5I/7UkCUt1kWxjO3Ks1v3yxg1/img.png)
JPA를 통한 테스트 구현 과정에서 entityManager의 merge()를 사용해 준영속인 엔티티를 다시 영속화하고 변경 감지를 아래처럼 사용하려 했으나 제대로 적용되지 않았다. entityManager.merge(entity); entity.proceed(); // 상태 변경 메서드 entityManager.flush(); 준영속 상태인 엔티티를 다시 영속화하고 상태를 변경하였는데 변경 감지가 동작하지 않았다. merge() 시에 select 쿼리가 나가기는 하나 proceed() 시에 update 쿼리가 나가지는 않았다. proceed() 이후 entityManager.contains(entity)로 영속화 여부를 확인해도 false가 출력되었다. 아래와 같이 순서를 바꾸니 변경 내용을 정상적으로..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/wYobX/btspmMb8J9j/09YwAXeCsn8dZht7a7f9u1/img.png)
최근의 프로젝트에서 Spring Data JPA를 통해 상속관계를 사용했으나 적절하지 않음을 깨닫고 언제 슈퍼/서브타입을 사용해야 할지 정리하는 글입니다. 확장(Enhanced, Extended) ER과 슈퍼/서브타입 RDB의 엔티티 릴레이션(ER), 테이블은 정보를 저장하는 기본 단위이다. 전통적인 릴레이션 모델링만으로는 현실의 다양한 데이터들을 효율적으로 나타내기 어려워 이를 조금 더 추상화한 확장 ER의 개념이 나오게 되었고 데이터의 상속 관계를 나타내기 위한 슈퍼/서브타입에 대한 개념이 여기에 포함된다. (명칭은 Super class & Subclass라 부르기도 하나 여기서는 슈퍼/서브타입 관계라 칭한다) 전통적인 모델링에서는 어떤 테이블의 하나의 열에 저장된 외래 키를 통해 다른 하나의 테이블..
- Total
- Today
- Yesterday
- springboottest
- stubbing
- 자바
- Spring 테스트
- RandomPort
- Java
- java switch case
- 우테코 프리코스
- thenComparing
- GitHub Discussion Template
- Spring
- 생성자 주입
- comparing
- Payload 암호화
- JPA JSON
- GitHub Discussion 템플릿
- 함수형 인터페이스
- 의존성 주입
- Fromtail
- GitHub Discussion
- MySQL 이벤트 스케줄
- logback-spring.xml
- Jenkins 예약 배포
- invokedynamic
- JPA
- 우테코
- 람다식
- 우테코 5기
- 스프링
- Spring Boot Monitoring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 |
30 |