目前项目中遇到一个问题。数据字典以后会有些变动,扩展一些字段,这些字段要保存在配置文件中,数据库最好不要做改动。这样做的目的是方便以后灵活扩展,只需要改配置文件。
现在有一个解决方案是将现有的数据字段正常设计到数据表。每张表都有一个扩展字段,用来存储其它扩展数据,格式为text。其中的数据以xml数据格式存储,以区分字段信息。
实体bean的设计是这样设计的:每个表对应一个Basicbean,不包括数据表中的扩展字段。每个bean扩展一个子类dynamicBean,用list保存表中扩展字段中的xml数据解析出来的对象。
为了xml中的数据可以解析成为对象,项目中用到了XStream,这是一个可以将对象序列化成xml数据,并且可以把xml数据解析成为对象的一个开源框架,非常简单,两分钟就可以轻松使用。
为了使由Xstream序列化成的xml数据有良好的可读性,需要设计一个类来封装扩展字段。如:User的扩展字段封装成UserItem(name,value)。
这样如果以后User需要扩展字段age,就可以新增一个UserItem(age,22)。添加到UserDynamicBean中的list中。由Xstream序列化成xml数据,同其它现有的字段一同存入数据库。从数据库中读取数据时也是一样:把除扩展字段以外的字段映射到BasicBean。读取扩展字段中的xml数据,用Xstream解析出保存有Item对象的list。然后把BasicBean与list封装到dynamicBean,提供给上层使用。
这是一个初步的解决思路,哪位有比较好的解决办法请不吝赐教。
分享到:
相关推荐
为了给该问题的研究提供一个全面的视野,对可扩展性问题进行了深入剖析,包括可扩展性研究的背景和研究现状;从控制器的部署角度综合比较了几种较为成熟的解决方案,从两个方面探讨了可扩展性对于其他研究问题的影响...
而分类算法的可扩展性,指的是算法在面对大规模、高维的数据时,仍能保持良好的性能和效率。 本文主要分析了决策树分类算法和K最近邻分类算法这两种常见的分类算法,探讨了它们在数据挖掘中的应用以及可扩展性。 ...
- **增强数据处理能力**:通过解决适应度评价的计算复杂度和模型处理数据的可扩展性问题,增强了模型处理大规模数据集的能力。 #### 结论 本文提出了一种改进的自适应图像无损压缩算法,通过对适应度评价计算...
* ChatGPT 模型在训练时可以处理大规模的对话数据集,但在实际应用中,模型的可扩展性受到限制。 * 模型在面对新领域、新问题时,通常需要重新训练才能达到较好的性能,这限制了 ChatGPT 技术的灵活性和可扩展性。 *...
本文主要探讨了如何通过数字信号处理器(DSP)和复杂可编程逻辑器件(CPLD)来增强数据采集系统的可扩展性和效率。这种方法尤其适用于需要高速、多通道数据采集的场合,如文中提到的IC卡公用电话系统。 首先,CPLD...
NoSQL数据库的出现,是为了应对传统的关系型数据库在数据可扩展性方面的局限性,特别是在处理非结构化和半结构化数据时。 数据可扩展性是衡量系统在面对数据量增长时,能否保持稳定性能、可用性和吞吐量的关键指标...
大数据实时数据系统的构建涉及到数据模型的设计、数据存储技术、可扩展性策略、容错机制和抽象及组合等方面。数据模型需要能够描述大数据的多样性和动态性;数据存储技术需要能够支持大量的数据和快速的数据访问;可...
为了解决这个问题,可以引入无监督学习和迁移学习等方法,利用大量的未标注的对话数据来训练模型,从而提高模型的可扩展性。 在稳定性方面,ChatGPT 的生成模型本质上是一个概率模型,存在输出不稳定的问题,可能会...
针对这些问题,可扩展性方法可以分为两类:面向算法的方法和面向数据的方法。面向算法的方法通过优化算法本身,如减少复杂度、改进搜索策略和利用并行处理来提升性能。面向数据的方法则通过数据分割和关系性表达来...
在面对大规模数据集时,算法的可扩展性成为了一个核心问题。 可扩展性研究主要关注三个方面:时间复杂度、空间需求以及模型结果的质量。时间复杂度是指算法执行所需的时间与数据规模的关系,理想的可扩展性算法应能...
在数字化时代,数据量的爆炸性增长和业务需求的不断演变对数据库的可扩展性提出了更高的要求。一个可扩展的数据库设计能够适应未来的需求变化和增长,保持高性能和稳定性。本文将探讨如何设计一个可扩展的数据库,...
同时,可能还运用了依赖注入和模块化设计,以提升系统的可扩展性。 总的来说,一个封装良好且具有高扩展性的数据访问架构对于软件项目的长期成功至关重要。这样的架构能够降低维护成本,提高代码质量,并为未来的...
本文将从开发可扩展性系统的软件技巧的角度,探讨如何创建可重用代码,重用函数,保持状态和提供输入输出数据等问题。 首先,开发可扩展性系统的软件技巧需要满足三个基本条件:第一,必须有一个方法来调用程序并...
为了解决 RDMA 的可扩展性问题,我们提出了 StaR(Stateless RDMA,状态less RDMA),将状态转移到其他通信端点。通过利用数据中心应用程序中的非对称通信模式,StaR 让低并发连接的一端保存状态,以便高并发连接的...
扩展数据与自定义数据的主要区别在于,扩展数据源自行情数据且与股票相关,而自定义数据来源广泛,可与股票相关或无关,同时数据类型不限。 利用**扩展数据管理**,用户可以设置保存特定的技术指标值,例如每日主动...
SQL Server 2008是微软推出的一款强大的关系型数据库管理系统,其性能和可扩展性的优化对于企业级应用至关重要。本白皮书深入探讨了如何最大化利用SQL Server 2008的性能潜力,以及如何设计和配置系统以支持大规模、...
ChatGPT 模型的可扩展性是指模型能够处理和处理大量数据的能力。这种能力对模型的应用和部署至关重要。然而,随着模型规模的增大,其可扩展性也带来了挑战。分布式训练技术是解决这些挑战的一种方法,它可以将大型...
为了实现系统的可扩展性和动态负载均衡,文章提出了自适应目录子树划分算法(Adaptive Directory Sub-tree Partition, ADSP)。ADSP算法以目录为粒度对文件系统命名空间进行划分,形成多个子树。根据集群的负载情况...