对O/R Mapping 框架的一点想法

     目前的O/R Mapping框架有很多,如 Hibernate,ibatis,JDO等等。它们无一例外都有一个特点,就是用静态数据类管理数据。例如:一个Order 表,必须为其创建一个Order类,及其对应的配置order.hbm.xml, 使用setter,getter代表每个字段来读写数据。这种一表一类,一配置的方式下,一个大型系统数据层的代码量 A=f(n), 其中n是表的个数,f 表示要产生的文件数关系,通常包括:数据类,配置,表示层的Form类,JSP列表页,编辑页等等,也就是系统的文件数量与表个数呈线性增长关系。

     我认为静态数据类在设计模式上是相同的,不同的只体现在各个表具体字段差异上。这种情况下,产生的众多代码文件是一种冗余。有没有一种好的方式,减少静态数据类的个数,使得系统文件数量能有所减少呢?

    幸好很早就有这样的框架了,就是Ofbiz。它通过类似Map的一个GenericValue类,代表所有的记录数据,而表的字段差异,仅仅通过xml配置文件体现出来。这样就能大大减少数据类的文件数量,最大程度的给系统瘦身。

你可能感兴趣的:(对O/R Mapping 框架的一点想法)