这里不可以使用JPA自带的getone方法。需要替换成FindById
其实是一样的。只是findbyid拿回来后是一个已经被序列化的对象。然后使用这个对象的get方法。就可以拿到你所要的对象。如果报错了千万不要忘记
然后还有提示没有序列化。也是dubbo的锅吧
这里我们需要在maven添加一些东西
<!--使用kryo序列化传输-->
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>de.javakaffee</groupId>
<artifactId>kryo-serializers</artifactId>
<version>0.41</version>
</dependency>
<!-- Json解析依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
然后在配置文件里面加入这样的一句话
dubbo.protocol.serialization=kryo
服务提供者和消费者同时应用这个配置。然后重启服务!正常!
本文介绍在使用Dubbo框架时,如何解决JPA getOne方法与序列化相关的问题。通过替换为findById方法,并使用Kryo序列化,解决了dubbo服务调用中的序列化错误。文章详细说明了在Maven中添加依赖以及配置文件中设置序列化方式的过程。
441

被折叠的 条评论
为什么被折叠?



