SpringBoot4 버전 Hibernate5JakartaModule 라이브러리 오류
2
작성한 질문수 2
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
강의 스크립트 Hibernate5JakartaModule 호출시 에러가 발생하여 확인 차 문의드립니다.ㄴ>
om.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule Unable to get public no-arg constructor
스프링부트 버전 문제인 것으로 판단하여 프로젝트의 스프링부트 버전확인시 4.1.0 버전으로 실행하였고 해당 버전에서 라이브러리와 클래스 변경이 있는 것 같아 질문 남깁니다.
// Hibernate5jakarta
// implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5-jakarta'
// -> 변경
// Hibernate7Module
implementation 'tools.jackson.datatype:jackson-datatype-hibernate7'package jpabook.jpashop;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import tools.jackson.datatype.hibernate7.Hibernate7Module;
@SpringBootApplication
public class JpashopApplication {
public static void main(String[] args) {
SpringApplication.run(JpashopApplication.class, args);
}
// @Bean
// Hibernate5JakartaModule hibernate5Module() {
// Hibernate5JakartaModule hibernate5JakartaModule = new Hibernate5JakartaModule();
//// // 강제 지연 로딩 설정
// hibernate5JakartaModule.configure(Hibernate5JakartaModule.Feature.FORCE_LAZY_LOADING, true);
// return new Hibernate5JakartaModule();
// }
// ㄴ 변경
@Bean
Hibernate7Module hibernate7Module() {
Hibernate7Module hibernate7Module = new Hibernate7Module();
// 강제 지연 로딩 설정
// hibernate7Module.configure(Hibernate7Module.Feature.FORCE_LAZY_LOADING, true);
return hibernate7Module;
}
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 이원준님.
현재 Spring Boot 4.1.0 버전을 사용하고 계신다고 하셨는데, 기존의 Hibernate5JakartaModule이 정상적으로 동작하지 않는 문제를 겪고 계신 것 같습니다. 이 문제는 버전 변경에 따라 발생할 수 있습니다. 해결에 도움이 될 만한 몇 가지 내용을 제공드리겠습니다.
문제 원인
Hibernate5JakartaModule은 기본적으로 Hibernate 5와 Jakarta EE 환경에 맞춰 설계된 모듈입니다. Spring Boot 및 Hibernate의 버전이 변경되면서 호환 모듈의 업데이트가 필요하게 되었습니다.
해결책
- Jackson Datatype - Hibernate7 Module 사용:
최신 Hibernate 버전과 관련해서Hibernate7Module을 사용하시는 방법은 적절합니다. 이 모듈은 Hibernate 7과 호환되며, 강제 지연 로딩을 지원합니다.
새로운 모듈을 적용하기 위해서는 아래와 같이 코드를 수정하시면 됩니다:
@Bean
Hibernate7Module hibernate7Module() {
Hibernate7Module hibernate7Module = new Hibernate7Module();
// 필요한 강제 지연 로딩 설정
// hibernate7Module.configure(Hibernate7Module.Feature.FORCE_LAZY_LOADING, true);
return hibernate7Module;
}
버전 호환성 체크:
명확한 해결을 위해서는 사용하고 있는 라이브러리의 호환성을 반드시 체크해야 합니다. 특히, Spring Boot와 Hibernate의 버전이 서로 맞지 않으면 다양한 에러가 발생할 수 있습니다.관련 자료:
아래 답변에서는 여러 사용자들이 비슷한 문제를 어떻게 해결했는지를 보여주고 있습니다. 추가적으로 확인해 보시면 힌트를 얻으실 수 있을 것입니다.
추가적으로 강의 자료 및 업데이트된 내용을 확인하시고, 궁금하신 점은 커뮤니티나 강의의 Q&A에 공유해 주세요. 문제를 해결하는 데에 큰 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.
0
56
3
강의 관련 외 질문입니다.
0
97
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
2
118
1
BeanCreationException
0
105
3
Update 후 UpdateMemberResponse 매핑할 때
0
68
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
119
2
페이징 + 검색조건 관련해서 질문드립니다.
0
83
1
Query Dsl Q파일 질문입니다.
0
99
1
루트 쿼리라는것은
0
73
1
메서드를 분리하는 기준
0
81
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
135
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
112
2
fetch join과 영속화와 OSIV의 관계
0
109
2
Distinct 사용 전 결과에 대한 의문
0
130
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
71
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
93
2
dto 필드 속 엔티티 여부
0
75
1
뷰템플릿 사용 시
0
91
2
Result 클래스 관련 질문
0
64
1
@PostConstruct 프록시 관련 질문드립니다
0
95
1
DTO 대신 Form 사용은 안되나요?
0
146
1
OSIV ON 상태일 때
0
105
1
fetch join VS fetch join 페이징 궁금증
0
203
2
양방향 연관관계 알아보는 법?
0
117
1





