开发者社区> 问答> 正文

jfinal与sql server兼容问题?报错

@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());

展开
收起
爱吃鱼的程序员 2020-06-14 17:36:59 484 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

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

    如果你的MsSqlDialect达到了足够好,可以分享出来这种方式是可以的,很多人已经在这样扩展出自己的Model了,关键在于arp.addMapping(...)时要映射好正确的Model,贴出代码来看看试过了,显然是不行的我得id是字符串啊……数据库里面是varchar回复 @T0NYLEE:数据类型不对,改成set("id",123)试试补充了问题,似乎与sqlserver有关,谢谢
    2020-06-14 17:37:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载