码屌丝 2019-02-28 16:50 采纳率: 0%
浏览 344

oracle用hibernate批量插入出错

在oracle数据库中批量插入(hibernate),
报错误:ERROR JDBCExceptionReporter:78 - ORA-01790: 表达式必须具有与对应表达式相同的数据类型
找了很久 没发现有什么类型错误啊

实体类:

图片说明

对应的数据库表:

图片说明

Service:

图片说明
图片说明
mapper.insertTavleInfo(tabvleList)行报错,进入方法:

Mapper:XxxtMapper

图片说明
(return行报错)

Mapper.xml:持久层XxxtMapper.xml

图片说明

报错信息:

图片说明

图片说明

------------------那位大神能帮忙看下,感谢--------------------------------

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 08:42
    关注

    根据错误信息,可以看出是数据类型不匹配导致的错误。具体来说,可能是在插入数据时,某些字段的数据类型不匹配,比如数据库表中的一些列是varchar类型,而对应实体类中的对应属性是int类型。

    你需要检查实体类和数据库表之间的映射关系,确保每个属性的数据类型都与数据库表中的数据类型相匹配。此外,也要检查插入的数据值的类型是否与表中列的数据类型相匹配。

    同时,还需要检查一下是否在插入数据时,有些属性为null,而在数据库表中该列不允许为null,这也会导致此错误的发生。

    如果你确认数据类型都匹配,也没有null值问题,那么你可以尝试使用另一种方式批量插入数据,比如使用JDBC批量插入数据。

    评论

报告相同问题?

悬赏问题

  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面