system.out.println으로 jpa에서 불러온 값을 확인 하던 중 한글 데이터만 깨진다는 것을 알게 되었다. DB와 JPA간의 문제인 지 확인을 위해 확인을 시작했다.
데이터베이스를 확인 했을 때는 한글이 정상적으로 출력 되는 것을 확인 했다.

일단 DB 문제는 아니라고 생각했다.
검색 및 chat gpt에서 utf-8을 내가 사용하는 DB에서는 다른 encoding 방식을 활용 할 수 있다고 알려줬고, application.properties에 spring.sql.init.encoding=utf-8을 추가해보라고 했다. (하지만 안되었다.)
출처: https://karsei.pe.kr/120 [사진찍는 개발자:티스토리]
해당하는 컬럼에 대한 바이트 값을 받아서 해당하는 encoding 방식이 무엇인지 확인해보고자 했다.
//확인용 - 바이트
String sql = "SELECT CAST(animal AS VARBINARY) FROM member WHERE email = :email AND LOGIN_TYPE = :type";
Query query = em.createNativeQuery(sql);
query.setParameter("email", email);
query.setParameter("type", type);
System.out.println("#####"+" "+(byte[]) query.getSingleResult());
// byte[] 데이터를 UTF-8 문자열로 변환
String animalString = new String((byte[]) query.getSingleResult(), StandardCharsets.UTF_8);
System.out.println("복원된 문자열: " + animalString); // 출력: 고양이
해당하는 코드를 위와 같이 준비했고, 결과 utf-8로 encoding된 byte 데이터가 잘 오고 있는 것을 확인했다.
사실상 console에서 보여지는 값인 system.out.println이 잘못되고 있음을 깨달았다.
https://milenote.tistory.com/37
해당하는 블로그대로 깨짐을 해결하니 바로 데이터가 정상 출력하는 것을 확인 할 수 있었다.