首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
波总还没解决oracle model多个主键映射问题呢
syso
2018-05-22 11:26
波总还没解决oracle model多个主键映射问题呢
项目:
JFinal
1
评论区
syso
2018-05-22 11:27
@JFinal
每次我映射的时候都要主动删除下多出来的主键
回复
JFinal
2018-05-22 11:57
具体是啥问题呢? 我没碰到过, 很久没用 oracle 了
回复
Sohnny
2018-05-22 14:19
@JFinal
我也遇到过,貌似是有外键的时候,就会当成多主键生成
回复
lyh061619
2018-05-22 15:10
列举说明下的呢,不然这点信息,波总也很难出问题发生。
回复
JFinal
2018-05-22 21:34
@Sohnny
通过继承 MetaBuilder,覆盖掉出错的那个方法,自行处理一下就好
回复
syso
2018-05-24 10:34
是mappingkit文件里面生成了 多个 主键 我数据库里只有一个主键
回复
syso
2018-05-24 11:07
@JFinal
比如有A B两张表 A有一个主键 A的主键作为B的外键 B有一个主键 生成Mappingkit的时候B就会生成两个主键
回复
syso
2018-05-24 11:09
@lyh061619
比如有A B两张表 A有一个主键 A的主键作为B的外键 B有一个主键 生成Mappingkit的时候B就会生成两个主键
回复
JFinal
2018-05-24 11:35
@syso
也就是说将外键生成为了联合主键。 有两个用户反馈过,或者是个别情况,通过换一下 oracle 驱动 jar 解决一下
这个问题大概率是 oracle 驱动的 bug ,因为通过查看 MetaBuilder.buildPrimaryKey() 源码的第一行代码:ResultSet rs = dbMeta.getPrimaryKeys(...) 可知, jdbc 明明就是在获取 getPrimaryKeys,primary key 就是主键的意义, 但却额外得到了外键
如果换驱动还解决不了,通过继承 MetaBuilder 类 并覆盖 buildPrimaryKey() 方法,里面做些判断解决
回复
syso
2018-05-24 15:19
@JFinal
按照波总的意思 已经解决 谢谢波总
回复
JFinal
2018-05-24 15:29
@syso
最终是通过那个方法解决的?
回复
lyh061619
2018-05-24 15:47
最终是通过那个方法解决的?^_^
回复
syso
2018-05-28 14:20
@JFinal
重写getPrimaryKeys解决的 我换了ojdbc的jar包没反应只能重写了
回复
syso
2018-05-28 14:20
@lyh061619
重写getPrimaryKeys解决的 我换了ojdbc的jar包没反应只能重写了
回复
JFinal
2018-05-28 14:23
@syso
具体的代码分享出来啊,修改这个帖子,追加内容就好
回复
lyh061619
2018-05-28 15:20
@JFinal
那这个问题,波总还得着手,调整下的呢,哈哈
回复
JFinal
2018-05-28 15:26
@lyh061619
这个是 oracle 驱动的 bug,不太好调整,因为getPrimaryKeys() 方法返回来的是不是主键,这个在 jfinal 这头是无法判断的
回复
lyh061619
2018-05-28 17:07
@JFinal
也是无法预知的,不太好把控的。
回复
syso
2018-06-13 10:53
@JFinal
这段时间公司用 springboot 没时间看 已经分享 但是方法有点笨 波总见谅啊
回复
发送
我要反馈
热门反馈
扫码入社