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吧.

 

posted @ 2018-06-15 23:11  181282945  阅读(550)  评论(0编辑  收藏  举报