多态对象的存储方案小结

news2025/2/23 23:33:07

某个类型有几种不同的子类,Jackson中的@JsonTypeInfo
和@JsonSubTypes可以应对这种情形,但有点麻烦,并且name属性必须是字符串、必须用Jackson为基础的json工具类对json字符串和对象进行序列化和反序列化。用过一次这种方案后边就不想再用了。
在这里插入图片描述

后来,又遇到了一次这种情形,觉得不用多态反而更方便地应对了。

在这里插入图片描述

在这里插入图片描述

存储时,把不同实体类对象转换为json串赋值给对应的字段上
(为了方便与前端交互,实体类成员变量的值如showConfig1、showConfig2都具有相同的前缀,后缀则是枚举值)

读取时,把json字符串转换为不同的实体类对象:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2215093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重学SpringBoot3-Spring Data JPA简介

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-Spring Data JPA简介 1. 什么是 Spring Data JPA?2. Spring Data JPA 的核心概念2.1. 实体(Entity)2.2. Repository&…

若依前后端框架学习——新建模块(图文详解)

若依框架—新建模块 一、项目地址1、后端启动2、前端启动 二、生成代码1、添加菜单2、创建表结构3、生成代码2、编辑一些基本信息,然后点击提交3、生成代码,压缩包里有前端和后端代码 三、配置后端模块1、新建模块2. 修改pom.xlm2.1 修改第一个pom.xml 2…

关于jmeter设置为中文问题之后无法保存设置的若干问题

1、jemeter如何设置中文模式 Options--->Choose Language--->Chinese(Simplifies), 如此设置后就可显示中文模式(缺点:下次打开还是英文);如下图所示: 操作完成之后: 但是下次重启之后依旧是英文; 2、在jmeter.…

探索 Jupyter 笔记本转换的无限可能:nbconvert 库的神秘面纱

文章目录 探索 Jupyter 笔记本转换的无限可能:nbconvert 库的神秘面纱背景:为何选择 nbconvert?库简介:nbconvert 是什么?安装指南:如何安装 nbconvert?函数用法:简单函数示例应用场…

18-基于双TMS320C6678 DSP的3U VPX的信号处理平台

一、板卡概述 该板卡是由我公司自主研发的基于3U VPX架构的信号处理板,该处理板包含2片TI的TMS320C6678 DSP芯片,1片Xilinx公司的Spartan-3系列XC3S200AN配置芯片,两片DSP分别有1路RapidIO x4连接至VPX背板,两片DSP之间通过Hyperl…

scratch机器人捡垃圾 2024年9月scratch二级真题 中国电子学会 图形化编程 scratch二级真题和答案解析

目录 scratch机器人捡垃圾 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 …

N-MOS 和 P-MOS,增强型和耗尽型

本文主要叙述N沟道MOS管(N-MOS)和P沟道MOS管(P-MOS)的区别,以及的增强型和耗尽型的区别。 一、N-MOS和P-MOS的区别 N沟道MOS管在栅极上施加正向偏压(Vgs>0),且只有栅源电压&…

Redis学习笔记:简单动态字符串

简单动态字符串 C语言传统的字符串是使用字符数组表示的,Redis没有直接使用C语言传统的字符串表示,而是构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型,并将SDS作为Redis的默认字符串…

助力语音技术发展,景联文科技提供语音数据采集服务

语音数据采集是语音识别技术、语音合成技术以及其他语音相关应用的重要基础。采集高质量的语音数据有助于提高语音识别的准确性,同时也能够促进语音技术的发展。 景联文科技作为专业的数据采集标注公司,支持语音数据采集。可通过手机、专业麦克风阵列、专…

极米智驾仪表盘(开源!!)

1.演示: 驾驶界面图 有图无真相,下面视频展示: 汽车仪表盘展示 整个汽车中控仪表盘界面展示: 极米智驾仪表盘中控 极米智驾仪表盘在arm开发板上运行的效果: (因为CSDN只能上传到2M多的视频大小,所以视频只…

C++笔记之类三种的继承方式

C++笔记之类三种的继承方式 code review! 文章目录 C++笔记之类三种的继承方式1.《C++ Primer Plus》(第6版)中文版Page 5502.C++类继承方式与能否隐式向上转换的关系1.《C++ Primer Plus》(第6版)中文版Page 550 除基类私有成员变量外(基类公有成员变量和保护成员变量):…

Golang | Leetcode Golang题解之第479题最大回文数乘积

题目: 题解: func largestPalindrome(n int) int {if n 1 {return 9}upper : int(math.Pow10(n)) - 1for left : upper; ; left-- { // 枚举回文数的左半部分p : leftfor x : left; x > 0; x / 10 {p p*10 x%10 // 翻转左半部分到其自身末尾&…

【火山引擎】 Chat实践 | 大模型调用实践 | python

目录 一 前期工作 二 Doubao-pro-4k_test实践 一 前期工作 1 已在火山方舟控制台在线推理页面创建了推理接入点 ,接入大语言模型并获取接入点 ID。 2 已参考安装与初始化中的步骤完成 SDK 安装和访问凭证配置

初级网络工程师之从入门到入狱(四)

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 网络工程师从入门到入狱 前言一、Wlan应用实战1.1、拓扑图详解1.2、LSW11.3、AC11.4、抓包1.5、Tunnel隧道模式解析1.6、AP、…

Golang | Leetcode Golang题解之第473题火柴拼正方形

题目&#xff1a; 题解&#xff1a; func makesquare(matchsticks []int) bool {totalLen : 0for _, l : range matchsticks {totalLen l}if totalLen%4 ! 0 {return false}tLen : totalLen / 4dp : make([]int, 1<<len(matchsticks))for i : 1; i < len(dp); i {dp…

pymobiledevice3使用介绍(安装、常用命令、访问iOS沙盒目录)

项目地址&#xff1a;https://github.com/doronz88/pymobiledevice3 首先先介绍一下pymobiledevice3&#xff0c; pymobiledevice3是用Python3 实现的&#xff0c;用于处理 iDevices&#xff08;iPhone 等&#xff09;。它可以跨平台使用&#xff0c;支持&#xff1a;windows…

如何启动hive

检查mysql是否启动 通过Navicat测试mysql是否可以连接 找打hive配置文件所在目录 检查连接mysql的账号密码是否正确,如果不正确就要修改为正确的 初始化hive元数据存储的库:schematool -dbType <database_type> -initSchema 检查mysql中是否创建hive数据库,这里看到hive数…

Windows11远程桌面连接的详细步骤

1、打开设置 2、关闭被控电脑的防火墙 设置中搜索“防火墙” 关闭防火墙 最好三个防火墙都关上 3、打开被控电脑的远程桌面允许 设置中搜索“远程桌面” 打开远程桌面 4、查询电脑输入IP地址 Windows键R键打开CMD&#xff0c;输入ipconfig查询IP地址 5、查询电脑用户名 设置…

入门CCRC数据安全评估师认证要学习哪些内容?

CCRC-DSA&#xff08;中国网络安全审查认证和市场监管大数据中心-数据安全评估师&#xff09;认证&#xff0c;作为国内数据安全领域的权威认证之一&#xff0c;对于从事数据安全工作的专业人士来说&#xff0c;具有极高的含金量。 那么&#xff0c;想要考取这一认证&#xff…

鸿蒙开发 四十一 ArkTs 模块化实战

实际开发中&#xff0c;可能有些工具类或者一些公共代码&#xff0c;用的地方比较多&#xff0c;这时候就可以封装成一个模块 在tools目录下新建了一个module1.ets文件&#xff0c;定义了一个变量name1&#xff0c;定义好之后&#xff0c;另外起一行用export default 修饰name…