Spring data jpa JavassistLazyInitializer 不仅是Json序列化问题.以及解决办法

Posted 高因咖啡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring data jpa JavassistLazyInitializer 不仅是Json序列化问题.以及解决办法相关的知识,希望对你有一定的参考价值。

最近偷点时间更新一下框架,使用SpringBoot2.0 整套一起更新一下,发现些小问题

 Spring data jpa getOne 返回的是代理对象,延迟加载的,ResponseBody成Json的时候会有序列化问题,网上的都说加上这个就好了,这样是能返回.

@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})

但是经过自定义的,但是自定义ObjectMapper,Json属性解析就出问题了,因为类型是代理对象的类型,后面有一个恶心的$$_jvsteaf_什么鬼东西.反正就是代理对象.导致类型判定不正确

Jpa 有两个根据id的查询方法,直接调用repository的getOne 会延迟加载,返回代理对象,使用findById 返回Optional ,真实对象.

我认为在业务代码中使用findOne 也许能提高那么一点性能,在要直接返回detail的时候,还是用findById吧.

 

以上是关于Spring data jpa JavassistLazyInitializer 不仅是Json序列化问题.以及解决办法的主要内容,如果未能解决你的问题,请参考以下文章

spring-data-jpa 和 spring-boot-starter-data-jpa 的区别

spring-data详解之spring-data-jpa:简单三步快速上手spring-data-jpa开发

spring data jpa怎么和solr整合

spring data jpa问题

Spring Data 系列 Spring+JPA(spring-data-commons)

spring-data-jpa软删除方案