今天工作中往oracle数据库中insert数据的时候遇到这样一个错误:无效的数据类型,日志也打印出error occurred setting parameters 大概就是这意思吧 具体的字母忘了,我也能看出是赋值的数据与数据库对应字段的数据类型不一致导致的,但是奇怪的是:
表中有两条记录,一条可以执行成功,一条执行就报错,这个功能就是复制操作,从数据库里查出记录,然后再插入进去
因为执行有一条能成功,我就感觉不是程序的问题,是数据不对,但对比了两条数据有值的字段类型都是一样的,一时没有了检查的方向,日志里错误的sql不会打印出参数,只有insert() values(???)一堆问号,后来通过筛选字段,一半一半的执行,
发现问题是:赋值的对象其中一个属性是一个user对象,数据库表中存的是user对象中no属性,赋值用的user对象自然报错类型不对,那个执行成功的记录是因为这个属性刚好为空,不会去赋值所以没报错,这个有值的记录就显示出来了,改成user.no去赋值就没有问题了