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

会哭的鳄鱼 发布于 03/16 05:17
阅读 331
收藏 0

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

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

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

加载中
0
JFinal
JFinal

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

 

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

0
JFinal
JFinal

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

0
会哭的鳄鱼
会哭的鳄鱼

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

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

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

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

返回顶部
顶部