피곤핑
코딩일탈
피곤핑
전체 방문자
오늘
어제
  • 분류 전체보기
    • Kotlin & Java
    • Spring
      • Spring Security
      • Spring
    • 네트워크
    • JavaScript & Node js
    • Docker
    • Python3
    • Unity
    • 딥러닝
    • 객체지향프로그래밍
    • Error 보고서
    • 나의 이야기 & 회고
    • HTML & CSS
    • Archive
    • 독서

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • JavaScript
  • TiL
  • 오블완
  • 개발자취업
  • 코딩테스트준비
  • 티스토리챌린지
  • 99클럽
  • nodejs
  • 항해99
  • Client

최근 댓글

hELLO · Designed By 정상우.
피곤핑

코딩일탈

[Spring Boot 3.2 마이그레이션] hibernate @Type, @TypeDef deprecated
Spring/Spring

[Spring Boot 3.2 마이그레이션] hibernate @Type, @TypeDef deprecated

2024. 3. 22. 18:45

개요

postgresql 에서 jsonb 타입으로 데이터를 저장하고 있었다.

spring boot 2.7.6 버전을 사용중이었고 spring boot 3.2.3 로 버전업을 하게 되면서 @Type, @TypeDef 가 deprecated 되었다.

해결

@JdbcTypeCode(SqlTypes.JSON) 또는 AttributeConverter 를 새로 만들어주면 된다는데 postgresql 에서는 dependency 만 새로 바꿔주면 된다!

 

https://github.com/vladmihalcea/hypersistence-utils

 

GitHub - vladmihalcea/hypersistence-utils: The Hypersistence Utils library (previously known as Hibernate Types) gives you Sprin

The Hypersistence Utils library (previously known as Hibernate Types) gives you Spring and Hibernate utilities that can help you get the most out of your data access layer. - vladmihalcea/hypersist...

github.com

위 github 주소로 들어가서 README 를 읽으면 엄청 친절하게 설명이 되어있다. 

 

Spring Boot 3.2 Release Notes 를 들어가면 Hibernate 6.3 을 지원하는 것을 볼 수 있다.

따라서 프로젝트에 hibernate6.3 에 대응하는 의존성을 설치해주면 된다.

implementation 'io.hypersistence:hypersistence-utils-hibernate-63:3.7.3'

 

설치 후 github 페이지에서 조금 더 설명을 살펴보면 hibernate6 에서는 @TypeDef 까지는 하지 않아도 되도록 바뀐 모양이다.

(hibernate5 에서는 기존 사용하던 방식 그대로 사용해야 한다.)

 

어노테이션과 괄호안에 들어가는 내용도 좀 더 간단하게 바뀌었다.

@Type(JsonBinaryType.class)

 

jsonb 타입으로 지정하고 싶은 컬럼에 해당 어노테이션을 달아준 후 테스트 해보면 jsonbinary 타입으로 잘 insert 된 것을 볼 수 있다.

'Spring > Spring' 카테고리의 다른 글

[Spring] @Async 애노테이션에서 커스텀 스레드풀 이름을 설정해줬을 때 따로 빈으로 등록하지않아도 스프링컨테이너가 구동된다구??  (4) 2024.09.13
[Spring Boot 3.2 마이그레이션] @TransactionalEventListener 사용시 트랜잭션을 분리하고 싶다면 반드시 전파속성을 명시해라!  (4) 2024.03.23
[SpringDataJPA] @Modifying 과 @Query 의 관계와 동작방식 (@Query 없이 @Modifying 만 사용한다면 어떻게 될까?)  (1) 2023.12.28
[SpringCache] 쪼금의 개념 설명과 Caffeine maximumSize 옵션 테스트  (2) 2023.11.01
[15] 기본적인 웹 게시물 관리 - 화면 처리 2  (1) 2019.12.20
    'Spring/Spring' 카테고리의 다른 글
    • [Spring] @Async 애노테이션에서 커스텀 스레드풀 이름을 설정해줬을 때 따로 빈으로 등록하지않아도 스프링컨테이너가 구동된다구??
    • [Spring Boot 3.2 마이그레이션] @TransactionalEventListener 사용시 트랜잭션을 분리하고 싶다면 반드시 전파속성을 명시해라!
    • [SpringDataJPA] @Modifying 과 @Query 의 관계와 동작방식 (@Query 없이 @Modifying 만 사용한다면 어떻게 될까?)
    • [SpringCache] 쪼금의 개념 설명과 Caffeine maximumSize 옵션 테스트
    피곤핑
    피곤핑

    티스토리툴바