gpt4 book ai didi

Spring Hibernate Jackson Hibernate5 模块

转载 作者:行者123 更新时间:2023-12-02 04:23:31 24 4
gpt4 key购买 nike

我已经使用 Hibernate 5.1.0 和 Jackson 2.7.5 设置了 spring 4.3.1

我遇到了一些惰性初始化异常,因为当我退出事务服务时,Jackson ObjectMapper 会尝试将我的对象转换为较晚的对象。

因此我阅读了 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 应该初始化惰性集合...

最佳答案

通过创建自己的 ObjectMapper,您将覆盖 Spring Boot 将设置的对象映射器,其中将包含一堆有用的模块,例如 Jdk8 模块。

您应该做的只是将 Hibernate5() 模块添加到应用程序上下文中,Spring Boot 会自动将其添加到它设置的 ObjectMapper 中。在任何 @Configuration 类中都像这样:

@Bean
public Hibernate5Module hibernate5Module() {
return new Hibernate5Module();
}

关于Spring Hibernate Jackson Hibernate5 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38273640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com