2016-08-30 17:08

jfinal-ext 确实很久没有更新了,建议去群里问一下 @绝望的八皮 的更新计划

2016-08-30 15:11

@nbjgl 把搞定的方案回来发个分享哈

2016-08-30 12:37

@cyx3954 把解决方案分享出来哈 ^_^

2016-08-30 09:59

@zdhl 正常情况下应该是输出一个主键值,换驱动吧,历史上多次出现过 oracle 驱动出现的问题,例如参数超过 8 个的时候出异常的问题,换驱动解决以后回来分享一下。

2016-08-30 00:23

感谢你的分享,如果后续有方案别忘了再回来分享一下,感谢支持

2016-08-30 00:23

关键点在于在 sqlite 中使用 getColumnClassName(i) 获取不到正确的类型,而 getColumnType(i) 可以获取到正确的类型,这个行为只有在 sqlite 中是这样,在其它数据库中是正常的

目前来说,建议通过 public class MySqliteMetaBuilder extends MetaBuilder 并且覆盖掉 builderColumnMetas(...) 方法来支持 sqlite 数据库,jfinal 后续版本会考虑改进的办法

总的来说,现有的获取 meta 的方式非常稳定,只是 sqlite 中出现意外,不大可能会单独为了 sqlite 去改变以前的处理方式,一是为了稳定性。二是由于 getColumnType(i) 或许仍然不能像 getColumnClassName(i) 一样非常精准地得到相应的 java 类型

2016-08-30 00:15

@zdhl 单步调试一下,看是哪一步出的问题,在 MetaBuilder 中设置断点,查看获取 id 的那部分代码执行的情况

2016-08-29 21:04

@Kerwin 升级下驱动试试,出现这种情况表明 JDBC 无法正确反射出正确的类型,记得搞定后发篇分享出来,感谢支持 jfinal 社区

2016-08-29 21:02

@zdhl 我这里没有 oracle 的测试环境,无法重问题,希望你解决后发一篇分享出来,感谢支持 jfinal 社区

2016-08-29 17:12

@happyboy 本质上来说就是该这样做,只不过 jfinal 让大家越来越懒了,希望可以有直接的支持

2016-08-29 17:10

@lihaijun.me 功能完善好以后人,会将有用的功能抽取成一个开源项目,多多关注社区动态

2016-08-29 17:10

是否设置了方言: generator.setDialect(new Sqlite3Dialect())
jfinal 生成 base model 时会通过反射获取的字段类型,完全依靠的 JDBC 得到的值,理论上来说是不会出错的
此外,是所有的 integer 都识别为了 String,还是少数情况?

2016-08-29 17:07

没有改为 ID1 之前有无问题?

2016-08-29 15:13

@Jimmy哥 还有很多事情做完以后才是 2.3

2016-08-29 12:27

这个情况确实比较诡异,是不是设置了外键? 建议调试跟踪一下,有发现反馈一下