다른 프로젝트에서는 잘 되는 부분이, 내가 맡고 있는 프로젝트에서는 아래와 같이,
com.fasterxml.jackson.core.JsonParseException: ...
JSON으로 변환할 수 없다는 에러가 터져나왔다
QueryDSL을 사용해 DTO로 바로 조회하는 쿼리였다
DB로 쿼리를 날리긴 하는데, 매핑을 못해오고 있었다
에러로그를 더 자세히 보니 아래와 같은 로그도 찍혔다
at com.vladmihalcea.hibernate.type.util.ObjectMapperWrapper.fromString(ObjectMapperWrapper.java:70)
at com.vladmihalcea.hibernate.type.json.internal.JsonJavaTypeDescriptor.fromString(JsonJavaTypeDescriptor.java:115)
at com.vladmihalcea.hibernate.type.json.internal.JsonJavaTypeDescriptor.wrap(JsonJavaTypeDescriptor.java:173)
at com.vladmihalcea.hibernate.type.json.internal.AbstractJsonJdbcTypeDescriptor$1.doExtract(AbstractJsonJdbcTypeDescriptor.java:31)
내가 맡고 있는 프로젝트는 RDB에 JSON 타입을 저장하기 위해
implementation("com.vladmihalcea:hibernate-types-60:2.20.0")
의존성을 추가해 사용하고 있었는데, 이게 문제가 되는 것 같았다
구글링을 하다가, 위 의존성의 공식? 깃헙에 들어갔다
https://github.com/vladmihalcea/hypersistence-utils?tab=readme-ov-file
들어가보니, 하이버네이트에 맞는 버전들을 설명해놨길래 내 프로젝트의 하이버네이트 버전을 확인하고 해당하는 의존성으로 변경했더니 잘 동작했다..!
implementation 'io.hypersistence:hypersistence-utils-hibernate-60:3.7.3
구글링할 때, 블로그만 찾아볼 게 아니라 공식 페이지?도 찾아보자..!!
https://github.com/vladmihalcea/hypersistence-utils?tab=readme-ov-file