gpt4 book ai didi

java - @AttribueOverride(name ="col1", column=@Column(nullable=true)) 抛出无法将字段设置为空值

转载 作者:行者123 更新时间:2023-12-01 23:42:16 25 4
gpt4 key购买 nike

所以我有一个可嵌入类型,其中包含映射到列的两个字段。在该类型中,两列都设置为 nullable = false

在另一个使用该嵌入类型的对象中,我想覆盖列名称并将其中一列设置为 nullable = true


@AttributeOverrides({
@AttributeOverride(name="col1",column=@Column(name="COL_1",nullable=true)),
@AttributeOverride(name="col2",column=@Column(name="COL_2",nullable=false))
})

看起来不错,对吧?

当我运行代码时,我尝试获取 col1 为 null 的行,然后得到以下结果:


org.hibernate.PropertyAccessException:空值被分配给原始类型 setter col1 的属性

有什么想法吗?

提前致谢。

最佳答案

该列可为空,但实体中的字段是原始类型(可能是 int、long 或 boolean)。 Hibernate 无法将 null 存储到原始类型字段中。它应该是 Integer 或 Long 或 Boolean。

这就是错误消息的内容:“Null 值已分配给基本类型的属性”。

关于java - @AttribueOverride(name ="col1", column=@Column(nullable=true)) 抛出无法将字段设置为空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17724867/

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