jfinal与sql server兼容问题

T0NYLEE 发布于 2015/03/03 18:51
阅读 1K+
收藏 0

@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());
加载中
1
T
T0NYLEE

自己找到问题了,还是jfinal与sql server兼容性问题,默认dialect中的这句话与sql server不兼容

pst.setObject(i + 1, paras.get(i));

我自己写了个MSSqlDialect,重写了这个方法,一点点调错,将问题解决了

JFinal
JFinal
如果你的 MsSqlDialect 达到了足够好,可以分享出来
0
JFinal
JFinal
这种方式是可以的,很多人已经在这样扩展出自己的 Model 了,关键在于 arp.addMapping(...) 时要映射好正确的 Model,贴出代码来看看
T
T0NYLEE
试过了,显然是不行的
T
T0NYLEE
我得id是字符串啊……数据库里面是varchar
JFinal
JFinal
回复 @T0NYLEE : 数据类型不对,改成 set("id", 123) 试试
T
T0NYLEE
补充了问题,似乎与sql server有关,谢谢
返回顶部
顶部