Java @AttribueOverride(name=";col1";,column=@column(nullable=true))抛出不能将字段设置为null值

Java @AttribueOverride(name=";col1";,column=@column(nullable=true))抛出不能将字段设置为null值,java,hibernate,jpa,Java,Hibernate,Jpa,所以我有一个可嵌入类型,它包含两个映射到列的字段。在该类型中,两列都设置为nullable=false 在另一个使用该可嵌入类型的对象中,我希望覆盖列名并将其中一列设置为nullable=true @属性溢出({ @AttributeOverride(name=“col1”,column=@column(name=“COL_1”,nullable=true)), @AttributeOverride(name=“col2”,column=@column(name=“COL_2”,nullabl

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

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


@属性溢出({
@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的属性分配了Null值

有什么想法吗


提前感谢。

列可以为空,但实体中的字段是基本类型(可能是int、long或boolean)。Hibernate无法将null存储到基元类型字段中。它应该是整数、长型或布尔型


这就是错误消息所说的:“为基元类型的属性分配了Null值”。

列可以为Null,但实体中的字段是基元类型(可能是int、long或boolean)。Hibernate无法将null存储到基元类型字段中。它应该是整数、长型或布尔型

这就是错误消息所说的:“为基元类型的属性分配了Null值”