开发者社区> 问答> 正文

druid支持“多子类继承”的序列化和反序列化吗?

比如基类是Base, A类继承了Base,

首先我将A序列化为字符串存在redis, 当我从redis读出这个字符串并反序列化为Base类的一个实例base, 我可以用base instance of A为true吗,想要的就是这个效果。

现在遇到的问题就是,反序列化为Base实例后就类型丢失了。

原提问者GitHub用户jialechan

展开
收起
山海行 2023-07-05 21:21:23 58 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    ruid使用Java中的序列化和反序列化来将查询结果从查询节点传输到代理节点或客户端。Java中的序列化和反序列化机制支持继承和多子类继承,因此Druid也应该支持这些特性。

    在Druid中,查询结果是使用Java序列化的方式进行序列化和反序列化的。当查询结果包含继承关系时,Java序列化和反序列化机制将自动处理继承关系。

    例如,如果查询结果包含一个基类和两个子类,Java序列化和反序列化机制将正确地序列化和反序列化这些对象,并保留它们之间的继承关系。

    当您在使用Druid时遇到序列化和反序列化问题时,请确保您的Java对象正确地实现了序列化接口,并且类的版本号保持一致。这将确保Java序列化和反序列化机制正确地处理您的对象,并保留它们之间的继承关系。

    2023-07-30 10:05:38
    赞同 展开评论 打赏
  • SerializerFeature[] features = new SerializerFeature[] { SerializerFeature.WriteClassName, //SerializerFeature.SkipTransientField, //SerializerFeature.DisableCircularReferenceDetect };

    String ttt = JSON.toJSONString(text, features);

    好像这样可以

    原回答者GitHub用户jialechan

    2023-07-06 11:54:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载