@JFinal 你好,想跟你请教个问题:
项目中所有表的主键根据业务需求有一套固定的生成方式,所以我建了一个自己的model继承自jfinal的model,然后所有model继承自我自己写的model,但是运行后发现这样做在jfinal里面是无效的。
所以我想问一下,类似扩展Model类的方式,在jfinal里面该通过什么方法来实现?
补充:
我发现问题似乎与ms sql有关
我在复写jfinal的save方法的时候,就用id来举例,很简单的一句话:
@Override boolean save(){ set('id','123') super.save(); }
报错:不支持从 UNKNOWN 到 UNKNOWN 的转换
注:config中我添加了设置:
arp.setDialect(new AnsiSqlDialect());
自己找到问题了,还是jfinal与sqlserver兼容性问题,默认dialect中的这句话与sqlserver不兼容
pst.setObject (i + 1 ,paras.get (i )) ;
我自己写了个MSSqlDialect,重写了这个方法,一点点调错,将问题解决了
如果你的MsSqlDialect达到了足够好,可以分享出来这种方式是可以的,很多人已经在这样扩展出自己的Model了,关键在于arp.addMapping(...)时要映射好正确的Model,贴出代码来看看试过了,显然是不行的我得id是字符串啊……数据库里面是varchar回复 @T0NYLEE:数据类型不对,改成set("id",123)试试补充了问题,似乎与sqlserver有关,谢谢版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。