Mybatis 二级缓存cache 报错:Cause: java.io.NotSerializableException

在使用Mybatis二级缓存时遇到错误:Cause: java.io.NotSerializableException。解决方案包括:1. 实现实体类(如User)的Serializable接口;2. 在Mapper.xml的标签中设置readOnly='true'。默认情况下,readOnly为false,可读写的缓存需要序列化,因此实体类需实现序列化或设置缓存为只读。
摘要由CSDN通过智能技术生成

        在学习Mybatis中的二级缓存时发现,给Mapper.xml配置   <cache/> 以开启二级缓存,运行测试发现报了如下图的错误

 

        进分析,解决  Cause: java.io.NotSerializableException: com.pss.pojo.User  错误的方法有2种.

        1.给该类序列化,即实现 Serializable 接口  如下图: 

       

         2.  给Mapper.xml配置中的 <cache/>  标签中 设置只读  readOnly="true"  如下图:

                 

 

总结:

        Mapper.xml配置中的 <cache/>  标签中的readOnly默认为false,而可读写的缓存会通过序列化返回缓存对象的拷贝,所以,此时需要实体类࿰

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值