반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- port&adapter architecture
- 자바
- 컬럼명중복
- sql 테스트 사이트
- 중복컬럼dto매핑
- error 2002 (hy000): can't connect to local mysql server through socket '/tmp/mysql.sock' (2)
- Flush
- 쓰기지연저장소
- 오라클쿼리테스트사이트
- 쿼리테스트사이트
- Oracle
- group by group by rollup 차이
- dto매핑우선순위
- 플러그인 로컬 테스트
- Java
- hibernate 쿼리실행 순서
- JPA
- 포트앤어댑터 아키텍처
- 쿼리실행순서
- 로컬에서 플러그인 추가
- intellij 플러그인 개발
- java 로 intellij 플러그인
- 쓰기지연sql저장소 쿼리실행순서
- ls -lgaf
- intellij 플러그인 만들기
- Stream
- Kafka
- plugin local
- IntelliJ
- 스트림
Archives
- Today
- Total
목록hibernate 쿼리실행 순서 (1)
개린이 탈출기
[JPA] 쓰기 지연 SQL 저장소 flush 시, 쿼리 실행 순서
JPA 를 활용하여 데이터를 관리하는 중인데 동일한 unique key 에 대한 delete 와 save 메서드를 사용하였더니 Duplicate Key 문제가 발생하였다. 결론적으로는 jpa를 통해 delete 관련 메서드를 호출해도 db에 동기화가 바로 일어나지 않고(직접 flush를 하거나 db 동기화가 일어나도록 하지 않는다면) 쓰기 지연 SQL 저장소에 쌓아두고 나중에 isnert 문과 함께 Db에 쿼리문을 보내준다. 이때 dbms 가 쿼리를 실행하기 전에 각 쿼리를 평가(최적화 및 실행 계획 등..)하는 과정에서 uniqueKey가 중복되는 insert문이 존재하므로 여기서 문제가 발생했던 것이다. 문제 원인실제 코드는 다음과 같다.public class MyEntity { @Id ..
Database ~ SQL
2024. 11. 20. 16:07