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开发