(亲测好用的解决方法)springboot2.x整合jpaRepository中的坑

今日折腾的时候发现了一起在1.5的时候整合jpa可以使用的findOne方法突然找不到了,如下: (亲测好用的解决方法)springboot2.x整合jpaRepository中的坑_第1张图片
可以看到这个方法里面不能传入String/Integer类型的值,所以百度了一番。
有网友给了一个通过get()再取值的方法,测试了一番并无效果。通过浏览调用方法列表发现了一个getOne()的方法,返回值类型和传递的参数都符合就试了一下
(亲测好用的解决方法)springboot2.x整合jpaRepository中的坑_第2张图片
测试通过
(亲测好用的解决方法)springboot2.x整合jpaRepository中的坑_第3张图片
这是由于jpa懒加载的问题引起的,可以在测试关联的实体类中添加@Proxy(lazy=false)解决(亲测好用的解决方法)springboot2.x整合jpaRepository中的坑_第4张图片
测试通过
(亲测好用的解决方法)springboot2.x整合jpaRepository中的坑_第5张图片
顺带想着测试一下findById()的方法也发现了一个问题
(亲测好用的解决方法)springboot2.x整合jpaRepository中的坑_第6张图片
返回值变为了一个Optional<>,这个可以通过get()方法得到想要的类型值。
在这里插入图片描述

你可能感兴趣的:(bug日记本)