波总还没解决oracle model多个主键映射问题呢

波总还没解决oracle model多个主键映射问题呢

评论区

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 没时间看 已经分享 但是方法有点笨 波总见谅啊

热门反馈

扫码入社