使用 Spring + JPA (Repositories) + Hibernate 更新表中的现有记录时出现此错误。2019-07-01 17:47:47.526 WARN o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 8114, SQLState: 370002019-07-01 17:47:47.527 ERROR o.h.engine.jdbc.spi.SqlExceptionHelper : Error converting data type nvarchar to numeric.2019-07-01 17:47:47.527 ERROR o.h.i.ExceptionMapperStandardImpl : HHH000346: Error during managed flush[org.hibernate.exception.SQLGrammarException: could not execute statement]2019-07-01 17:47:47.562 ERROR c.a.p.controller.AdminClaimController : July 1, 2019 5:47:47 PM PDTorg.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception isorg.hibernate.exception.SQLGrammarException: could not execute statement此更新操作最近有效,但现在无效。Stackoverflow 问题在这里我怎么知道这个问题与哪个列或数据值相关?被问到的 Stackoverflow 问题结束不幸的是,该表有 145 列。调用时出现错误CrudRepository.save(Object myObject))因为我确信我会同意他们的观点,所以请将您关于如何设计表格的评论放在其他地方的讨论论坛中,因为这显然不是我的问题所在 - 谢谢您,我保证我稍后会阅读它们!:D
1 回答
隔江千里
TA贡献1906条经验 获得超10个赞
看起来答案是:这在 SQL 数据库下通常是不可能的。您应该查看您尝试更新的所有数据值并找出哪个不适合其列。也许可以采用一种更高级的方法,即一次更改一个值,然后查看是什么更改导致了错误。
我认为进入 21 世纪还需要完成 19% 的工作是一件荒谬的事情,但显然我们要走出计算的黑暗时代还有很长的路要走。
添加回答
举报
0/150
提交
取消