多态对象的存储方案小结

时间:2024-10-17 21:46:59

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

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

在这里插入图片描述

在这里插入图片描述

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

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