JPA 덕분에 DB에서 삽질한 이야기

JPA 덕분에 DB에서 삽질한 이야기

4
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

JPA와 UUID 컬럼 문제 해결기

이 게시물은 JPA를 사용하며 UUID 타입의 ID 컬럼을 저장했음에도 조회가 되지 않는 문제를 다룹니다.

문제 발생 및 재현

  • UUID를 ID로 지정한 엔티티의 저장 후 조회 실패
  • 테스트 환경(H2와 MySQL) 차이에 따른 문제 재현

문제 원인 분석 및 해결

  • UUID 컬럼의 길이가 BINARY(255)로 설정되어 조회 실패
  • 컬럼 길이를 BINARY(16)으로 변경하여 문제 해결
  • MySQL의 BINARY 타입은 지정 길이만큼 오른쪽 패딩 처리함을 확인

검증 및 참고

  • MySQL 공식 문서와 RFC 4122 UUID 표준 참고
  • 직접 테이블 생성 및 쿼리로 패딩 문제 재현
  • 패딩 포함 조건으로 조회 시 정상 동작 확인