TIL

spring delete 쿼리가 안나갈 경우.

하얀잔디 2024. 9. 3. 10:49

delete 쿼리가 바로 안나갈떄가 있다.

 

지연 쿼리떄문임!

 

그러면 왜 insert는 바로 되는것같지?

 

-> 1. Transactional 로 안묶여있을 경우

 

->2. Id 생성전략이 identity 인 경우에는 그렇게 됨 ( 다음 시퀀스 select해야해서)

 

 

  • insert / delete 메소드의 트랜잭션 범위:
    • 이 메소드가 별도의 @Transactional 어노테이션을 가지고 있거나,
    • 서비스 레이어에서 이 메소드를 호출하고 그 서비스 메소드가 @Transactional로 annotate 되어 있다면,
    • insertCity() 메소드가 종료될 때 해당 트랜잭션이 커밋되면서 INSERT 쿼리가 즉시 실행될 수 있습니다.
  • ID 생성 전략:
    • 만약  엔티티의 ID가 @GeneratedValue(strategy = GenerationType.IDENTITY)로 설정되어 있다면, Hibernate는 ID를 얻기 위해 즉시 INSERT 쿼리를 실행합니다.
  • 즉시 로딩(Eager Loading) 설정:
    • 만약 City 엔티티가 즉시 로딩되는 관계를 가지고 있다면, 이로 인해 INSERT 쿼리가 즉시 실행될 수 있습니

 

'TIL' 카테고리의 다른 글

쿼리 최적화  (0) 2024.08.12
JVM/ GC튜닝 맛보기  (0) 2024.07.16
ELK 구축하기  (0) 2024.07.08
docker container끼리 연결 안될때  (0) 2024.06.27
Ec2 docker 다운 쉽게  (0) 2024.06.25