- 답안
- JPA (Java Persistence API)에서 더티 체킹(Dirty Checking)이란 영속성 컨텍스트(persistence context)에 의해 관리되는 엔티티 객체가 변경된 것을 자동으로 감지하여 데이터베이스에 반영하는 기능을 말합니다.
- 더티 체킹을 통해 개발자는 데이터베이스에 변경사항을 직접 수동으로 적용하지 않아도 됩니다.
- JPA 더티 체킹 동작 (참조)
- 엔티티 로드: JPA는 데이터베이스에서 엔티티를 조회하여 영속성 컨텍스트에 저장
- 엔티티 수정: 애플리케이션 코드에서 엔티티의 속성 값을 변경
- 트랜잭션 종료: 트랜잭션이 종료될 때 JPA는 영속성 컨텍스트에 있는 엔티티의 변경사항을 감지
- SQL 생성 및 실행: 변경된 엔티티에 대해 필요한 SQL 문(UPDATE, INSERT, DELETE)을 생성하여 데이터베이스에 실행
'기술면접 준비' 카테고리의 다른 글
Java가 컴파일 되는 과정은 어떻게 되는지? (0) | 2024.07.30 |
---|---|
JVM 이란 무엇이고 왜 필요한지? (0) | 2024.07.30 |
JPA란 무엇인가? JPA는 언제 필요하고 언제 필요하지 않은지? (0) | 2024.07.30 |
Override 와 Overload란? (0) | 2024.07.30 |
Call by reference란 무엇이고 보통 어떻게 쓰이나요? (0) | 2024.07.30 |