[SPRING] Spring Hibernate Jackson Hibernate5 모듈
SPRINGSpring Hibernate Jackson Hibernate5 모듈
Hibernate 5.1.0과 Jackson 2.7.5와 함께 스프링 4.3.1을 설정했습니다.
Jackson ObjectMapper가 Transactional Service를 벗어날 때 객체를 늦게 변환하려고 시도하기 때문에 게으른 초기화 예외가 발생했습니다.
따라서 Jackson의 Hibernate5Module을 읽었습니다.
모듈을 추가 한 후 게으른 예외가 발생하지 않지만 모든 @JsonView 주석이 무시되고 내 게으른 모음이 'null'입니다
public class SpringWebConfig extends WebMvcConfigurerAdapter {
...
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
for (HttpMessageConverter<?> converter : converters) {
if (converter instanceof org.springframework.http.converter.json.MappingJackson2HttpMessageConverter) {
ObjectMapper mapper = ((MappingJackson2HttpMessageConverter) converter).getObjectMapper();
mapper.registerModule(new Hibernate5Module());
}
}
}
}
내가 잘못하고있는 것이 있습니까? Hibernate5Module은 게으른 컬렉션을 초기화해야합니다 ...
해결법
-
==============================
1.다음과 같이 작동합니다.
다음과 같이 작동합니다.
@EnableWebMvc @Configuration @ComponentScan({ "..." }) public class SpringWebConfig extends WebMvcConfigurerAdapter { @Autowired SessionFactory sf; @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { Hibernate5Module module = new Hibernate5Module(sf); module.disable(Feature.USE_TRANSIENT_ANNOTATION); module.enable(Feature.FORCE_LAZY_LOADING); Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder(); builder.modulesToInstall(module); converters.add(new MappingJackson2HttpMessageConverter(builder.build())); } }
-
==============================
2.아래 구현에서 작동하도록합니다.
아래 구현에서 작동하도록합니다.
@Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { Hibernate5Module module = new Hibernate5Module(); // or Hibernate4Module ... depends on hibernate version you are using ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(mapper); converters.add(new MappingJackson2HttpMessageConverter(mapper)); }
from https://stackoverflow.com/questions/38273640/spring-hibernate-jackson-hibernate5module by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Data JPA를 사용하여 하나의 열을 선택하십시오. (0) | 2019.08.14 |
---|---|
[SPRING] 소나 : 인스턴스 메소드는 "정적"필드에 쓰지 않아야합니다. (0) | 2019.08.14 |
[SPRING] 스프링 부트 애플리케이션에서 쿼리를 외부화 (0) | 2019.08.14 |
[SPRING] 스프링 부트 응용 프로그램에서 junit 테스트가 임베디드 mongoDB를 사용하도록 만드는 방법은 무엇입니까? (0) | 2019.08.14 |
[SPRING] Springfox Swagger-UI를 추가했는데 작동하지 않습니다. 무엇을 놓치고 있습니까? (0) | 2019.08.14 |