开发者社区 问答 正文

Generator生成sqlite3的model,如果表有外键就出错了。? 400 报错

Generator生成sqlite3的model,如果表有外键就出错了。? 400 报错

@JFinal ,我用Generator生成sqlite的model,好不容易自己修改代码,扩展了MetaBuilder,列类型可以生成正确了,没扩展之前列都是被识别成了String。

现在发现,如果表有外键的话,生成的_MappingKit里,会出现如下情况:

这明显是不对的,我该修改哪里的代码以解决这个问题呢?

展开
收起
爱吃鱼的程序员 2020-06-03 15:05:04 534 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    继承 MetaBuilder ,覆盖 buildPrimaryKey() 方法,对获取到的主键名判断一下,如果是 FOREIGN KEY 打头,就再处理一下就可以了

     

    sqlite 下的 meta 信息不正确本质上是由于 sqlite 不尊守 JDBC 规范引起的,所以需要自己扩展一下 jfinal 的 generator 模块

    ######

    这里也有一些朋友做过 sqlite 的 jfinal 扩展 http://www.jfinal.com/share/716

    ######

    http://www.jfinal.com/share/716我就是从这里复制的代码,他那代码是不正确的,运行直接报错,拆分出来的字段和字段类型不对。

    buildPrimaryKey()这个方法我怎么重写?是直接将主键字段合并成一个字符串,然后中间用逗号分隔就行了吗?

    ######回复 @OSC_PlcQvT : 就是修改那个构建主键的方法,自己写构建主键的方法就行了######请问你是怎么解决的,这个链接的builder是有问题,想求一份你的代码,邮箱84235789@qq.com,万分感谢######

     找到源码了,从源码里抄过来了。谢谢波总。

    2020-06-03 17:11:12
    赞同 展开评论
问答标签:
问答地址: