2018-04-18 14:09

非常感谢波总及时解答,但第一个问题我还是有些不明白——解答中的“需要控制”具体指什么?假如我在两个子问题中都希望在我的唯一数据库更新方法 update()方法执行期间,其它线程或进程不能读取 update() 所部分更新的同一行脏记录,算不算一种“控制”,是否要加事务?
老实讲,在此前的开发中,为了保险,哪怕我的业务方法只有简单的一行(假设person 是 JFinal 模型的一个实例,只对应表的一行,且没有任何关联):
person.set("age", 76).update();
我也是要加事务的,我现在想问一下是否有此必要?

2017-11-29 18:36

想了下,使用 H2,以后切换数据库,如果仍用忽略大小写选项,可能也没啥问题。
但既然是忽略大小写,只在数据库侧忽略大小写,程序(员)侧并未忽略大小写,必须用形如 getTITLE() 或 get("TITLE") 的大写,仍然觉得有点怪怪的。

2017-11-29 18:26

波总这个方法好!我用此法生成的模型替换 jfinal_demo_for_maven 中的 MySql 生成的模型工作很好。

但是,H2 数据库在忽略大小写时生成的模型方法 getTITLE() 、setTITLE() 等方法,与 demo 不匹配,要用的话改动较大。假如用 H2 做项目,以后切换数据库改动太大了。不知有没有简单的解决方案?