不知道波总是否考虑过对jfinal的数据持久层做一次增强。个人感觉,目前来说,jfinal对数据库字段的依赖还是太大的,尤其是写sql的时候,如果有数据库字段的变更,那么程序里面修改起来就太麻烦。
我觉得是不是可以参考nutz的orm功能,model和数据库做映射,然后出个条件构成或者查询构造器什么的,直接在构造条件的时候根据model的属性来写,生成sql的时候根据model和数据库的映射字段名来生成。这样的话改了数据库只要修改model就行了,不用改原来的CRUD语句。@JFinal
jfinal 选择以数据库为基础,往上去搭建,数据结构是基础,相对稳定。如果从 model 出发,反向生成 sql 去修改数据库会很麻烦,例如你的改表结构的 sql 控制字段的长度、类型这都要额外写代码,因为仅有 model 中的属性,你生成 sql 的时候是无法知道字段长度的
因此,你还要为 model 属性添加注解,用来指示建表、改表结构 sql 的生成,而 jfinal 的以数据库为出发来得到 model 会便捷省事很多,也更稳固,不容易出问题,我个人不是太信任用 sql 去改表结构这种搞法的
你自己可以试试实现一个从 model 出发,去改表结构、生成表的功能,一定会比 jfinal 现在的设计要麻烦得多