클러스터드 인덱스, 보조 인덱스, undo/redo, REPEATABLE READ, READ COMMITTED, MyISAM 차이, wait_timeout, DB 세션과 커넥션 풀까지 한 번에 훑는 MySQL 정리 노트입니다.
Spring 싱글톤 빈의 무상태 설계, 지역 변수와 스레드 안전성, Entity와 persistence context, @Configuration의 CGLIB 동작을 한 번에 정리합니다.
멀티스레드 환경에서 Singleton이 왜 깨질 수 있는지, 왜 Holder 패턴이 안전한지, enum과 Spring singleton을 어디까지 같은 개념으로 봐야 하는지 정리합니다.
Auto Scaling으로 서버가 여러 대일 때 JPA 영속성 컨텍스트와 2차 캐시가 데이터 정합성을 깨뜨리는지, 각 캐시의 범위와 해결 방법을 코드 예시와 함께 정리합니다.
JDBC API 개요, DataSource 설정, JdbcTemplate 사용법, @Transactional 트랜잭션 관리와 전파 속성까지 정리합니다.
H2와 MySQL의 JSON 타입 매핑 차이(byte[] vs String)로 인한 Converter 에러 원인과 해결 방법을 정리합니다.
애플리케이션 레벨의 원자성과 DB 트랜잭션의 원자성 차이를 @Transactional을 통해 분석하고, 동시성 문제 해결 방법을 다룹니다.
JPA @OneToOne 관계에서 지연 로딩이 동작하지 않고 즉시 로딩되는 원인을 프록시 메커니즘을 통해 분석합니다.
DTO와 Entity의 역할 차이에 따라 Lombok 어노테이션(@Getter, @Setter, @NoArgsConstructor, @RequiredArgsConstructor)을 어떻게 선택해야 하는지 코드 예시와 함께 정리합니다.