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

时间:2022-05-14 19:07:31

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

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

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

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

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

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

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

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