依赖于数据库的通用产品设计,首先想到的必然是夸数据库技术的选择,这个只要采用hibernate等技术就可以实现夸数据库的能力。但是,比较隐蔽的问题是很多软件的运行依赖于数据库里的配置数据。也就是说没有数据库里的数据,软件就不能运行,比如:初始用户、动态菜单数据、和业务相关的固有参数、配置等等,有时配置数据的表结构是很复杂的。在这种情况下,仅仅有夸数据的访问技术,在需要夸数据库时,由于配置数据通常就在某个特定数据库里,仍旧会带来很大的麻烦。
有人会觉得我就用一种数据库不就行了。但实际情况是,用户熟悉的数据库可能只有一种,用户在版权上的考虑,都会限制用户对数据库的选择。
那配置数据应该如何处理?
方法一:就是编写 数据库导出导入程序 这个工作在有hibernate工具的前提下相对是比较好做的。同时公司必须维护标准的配置数据数据源。同时需要考虑产品在持续的升级过程中,新版的配置数据如何兼容老板的配置数据。
方法二:对于配置数据提供导出导入的功能。通常导出功能比较好做,但倒入功能,由于需要考虑已有数据的处理问题,会比较麻烦。有了导出数据可以将导出的配置,作为配置数据的基准,同样需要考虑版本升级与兼容性问题。
方法三:配置数据独立数据库存储。这种方法自然会使配置数据独立于数据库存在。但数据库内必然存在对配置数据的引用,需要仔细处理好这种情况。其他与前两者相同。