为了账号安全,请及时绑定邮箱和手机立即绑定

休眠:哪一列???将数据类型 nvarchar 转换为数字时出错

休眠:哪一列???将数据类型 nvarchar 转换为数字时出错

幕布斯7119047 2023-03-02 16:16:39
使用 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% 的工作是一件荒谬的事情,但显然我们要走出计算的黑暗时代还有很长的路要走。


查看完整回答
反对 回复 2023-03-02
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信