项目背景
首先我们有一套自己写的orm框架,使用上类似hibernate或spring(原理不一样,对hibernate和spring的原理也不是很清楚,总之是项目自创的),支持配置生成数据库表和table实体类,数据载入到逻辑层直接可通过实体类增删改查,table提供set get save delete方法可自动异步修改数据库,肥肠方便。
对于游戏业务,经常用到json格式,转成String存储到实体类字段中,每次读和写都要手动转化,这就比较烦了
项目需求
把json字符串的字段改成自定义结构实现Bean、BeanMap(extend HashMap implements Bean)、BeanList(extend ArrayList implements Bean),修改自定义对象的字段bean.setA(XXX)就可以自动更新到数据库,无需重新table.setB(bean)
遇到的问题
Bean的增删改查已经实现(实现方法与table实体类类似)没什么问题了
读过程String->Json->Bean 写过程Bean->Json->String,中间多了转Json操作,因为json比较好的支持String转换,key结构比较好的支持字段的增减
import com.alibaba.fastjson.JSONObject;
import com.kwai.clover.core.entity.EntityBase;
import com.kwai.c