gpt4 book ai didi

java - 我用 Hibernate/JPA 得到一个 "error, string or binary data would be truncated"

转载 作者:行者123 更新时间:2023-11-29 07:01:26 25 4
gpt4 key购买 nike

所以我从 sql-server 得到了一个error, string or binary data would be truncated 错误。我正在使用 hibernate 将数据保存到 MS sql-server。

通常当您遇到这样的错误时,这意味着您尝试保存的列不够大,无法容纳您尝试插入的数据。

我开始仔细比较,看看我在域中的 BigDecimal 变量是否有正确的精度,但在花了很多时间后,我意识到情况并非如此。

原来,我在子域中丢失了 @ManyToOne(optional = false)。我的父域对象与子域对象具有一对多 关系。添加注释为我解决了这个问题。我希望这能帮助看到类似错误的人。

问题是:当域中缺少 ManyToOne 注释时,为什么数据库会给出数据截断错误?

最佳答案

因为你没有注释你的字段,Hibernate 应用默认映射:将字段视为可序列化的对象,一旦序列化,就存储在二进制列中。

序列化产生的字节数组的长度对于列而言太大,因此出错。

关于java - 我用 Hibernate/JPA 得到一个 "error, string or binary data would be truncated",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25431210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com