2019-05-25 10:39
@hb963724769 3.3 升到 3.8 是分分钟的事情,而且有详细的升级文档:
https://www.jfinal.com/doc/14-1
如果不想升级的话, 3.3 版本之下要解决下面这个问题:
https://www.jfinal.com/share/979
2019-05-24 22:17
@听风道长 支持数据格式不同的,那就不是 batch 操作了, batch 的前提就是一个规则多条数据
2019-05-24 20:24
@hankss 旧版手册应该快两年都没提供下载了
文档是一直在更新的,在线版能保障是最新的,所以不再提供手册下载,这个也是绝大多数开源项目的做法
最近对在线版本改进了用户体验,使用起来十分方便
退一步讲,离线版本也是提供办法获取的:
http://www.jfinal.com/share/1436
2019-05-24 15:07
@山东小木 4.0 非常爽,我也用上很久了,一点问题没有
个别同学碰到一个带有泛型的类不能代理的问题,也是小问题,周末搞定一下,可以安心弄自由开发者联盟了
2019-05-24 15:04
service 事务的边界正如你需求的那样,从你点击开始直到节束,无论中间有多少步
你碰到的问题,很可能是因为事务级别不够引起的,对于 mysql 来说 jfinal 比较高版本的事务级别是:
Connection.TRANSACTION_REPEATABLE_READ;
这个值是:4, 对于一般的应用是够用的
oracle 下面值是: 2
在使用事务的时候,有一件事情要特别注意,如果你是将数据库的值先读到内存,然后改这个值,再存到内存,那么事务级别是要相应提高的,例如:
int cash = Db.queryInt("select cash from account where id = ?", 123);
cash = cash + 100;
Db.update("update account set cash = ? where id = ?", cash, 123);
如果你的更新操作是用 sql 实现,直接在数据库中实现的,那么事务级别可以更低,例如:
Db.update("update account set cash = cash + 100 where id = ? ", 123);
注意区别上面两种用法,前面的用法对数据的操作是在你的应用中, 后面的用法是在 mysql 数据库中,这两种用法对事务级别的要求是不同的,前者起码要锁住 id 值为 123 的行,如果更新范围大需要锁表,这个锁行、锁表就是与事务级别有关的,事务级别越高,锁的范围就越大