#spring-boot6
- [JPA] 네이티브 쿼리에서 MySQL 변수(@변수 :=) 사용 시 오류
JPA 네이티브 쿼리에서 MySQL 사용자 변수 할당(:=)을 쓰면 'Space is not allowed after parameter prefix' 오류가 발생한다. Hibernate가 콜론을 파라미터로 해석하는 원리와 이스케이프 방법, ROW_NUMBER() 대안을 정리했다.
- [Spring Boot] JPA 네이티브 쿼리 결과를 DTO로 받기 (No converter found 에러)
네이티브 쿼리 결과를 DTO 클래스로 받으려다 'No converter found capable of converting' 에러가 발생했다. 원인과 함께 인터페이스 프로젝션으로 해결하는 방법, 다른 매핑 방식과의 비교를 정리했다.
- [Spring Boot] JPA Hibernate 2차 캐시를 Redisson(Redis)으로 적용하기
Hibernate 1차 캐시와 2차 캐시의 차이, 캐시 동시성 전략을 정리하고 Redisson으로 Redis 기반 2차 캐시를 적용한다. 캐시가 실제로 동작하는지 확인하는 방법과 주의점도 함께 다룬다.
- [Spring Boot] Spring Security + JWT 인증 구현하기
JWT의 구조와 인증 흐름을 정리하고, Spring Security와 jjwt로 토큰 발급·검증·사용자 조회까지 구현한다. Spring Boot 3 / jjwt 0.12에서 달라진 점도 함께 정리했다.
- [Spring Boot] log4j2 설정과 Hibernate SQL·파라미터 로깅
Spring Boot의 기본 로거를 log4j2로 바꾸고, log4j2.xml의 구조(Appender, Logger, additivity)를 정리한다. Hibernate가 실행하는 SQL과 바인딩 파라미터를 로그로 확인하는 방법까지 다룬다.
- [Spring Boot] JPA @Query에서 null 파라미터를 조건에서 제외하기
검색 조건이 비어 있으면 해당 조건을 무시하도록 @Query에 ':param is null or ...' 패턴을 적용한다. SQL의 null 비교 규칙, 주의점, Specification·QueryDSL 대안까지 정리했다.