model.save()报错,但数据能保存,希望可以指点一下问题

打扰!今天领导让我接手一个之前的老项目做改造,因为一直用的JFinal框架,所以我也没在意,然后下午的时候开始调试,发现无论是任何形式的保存【model.save()】或更新【model.update()】,都会在后台出现【ORA-00942: 表或视图不存在】,但是我确定的是数据库中表是存在的,因为查询没有出问题,而且实际上数据在执行了【model.save()】之后,是会存入数据库的,但是后台会报错,页面显示500,不知道是哪里配置有错或者什么问题,希望可以有大佬指点一下。十分感谢!

image.png

image.png

评论区

南宫燚

2019-10-08 21:18

@JFinal 您好,冒昧打扰,想请教一下

JFinal

2019-10-08 23:34

@南宫燚 先配置 arp.setShowSql(true) , 看看生成的 sql 是什么,然后找原因

最好最快的办法还不是上面的配置, 而是单步调试进入 save() 方法内部,看一看最终生成的 sql 与相应的 para 是什么,只要是 sql 与 para 对了,就不会有问题

南宫燚

2019-10-09 11:15

@JFinal 您好,单步调试进入save方法内部,sql和对应的para都是正确的,我甚至单独把sql和para复制出来,直接使用plsql,也是可以插入成功的,但在后台一直还在报【ORA-00942: 表或视图不存在】。。。

南宫燚

2019-10-09 14:19

config.dialect.fillStatement(pst, paras); 是在这一行上报了错@JFinal

JFinal

2019-10-09 14:34

@南宫燚 继续调试进入 fillStatement 内部,看看是哪一行出的问题, 尤其要注意出问题时候是哪个参数

Psbye

2019-10-10 10:49

库连接、表与model的映射关系是否配置 肯定是一个细不细心的bug

热门反馈

扫码入社