gpt4 book ai didi

java - 继承字段“无法将 NULL 值插入列”

转载 作者:行者123 更新时间:2023-12-02 07:58:54 25 4
gpt4 key购买 nike

尝试保存 Person 对象时出现“无法将 NULL 值插入列...”错误。据我所知(打印出值后),它设置正确,但保存命令失败。

不能插入 null 的字段是从另一个类继承的字段。

这是我的模型:

public class BaseDomain
{
...

@Column(name="LST_UPD_PRG") private String lastUpdateProgram;
}

@Entity
@Table(name="PRSN_INF")
public class Person extends BaseDomain
{
...

@Column(name="FRS_NM") private String firstName;
@Column(name="LST_NM") private String lastName;
}

然后我尝试像这样拯救这个人”

public static void main(String[] args)
{
...

Person person = new Person();

person.setFirstName("John");
person.setLastName("Doe");
person.setLastUpdateProgram("BatchJob_01");

personRepository.save(person);
}

然后,保存操作会抛出错误:

com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert the value NULL into column 'LST_UPD_PRG'...

我最初创建了 BaseDomain 类,因为数据库中的每个表都将具有 LST_UPD_PRG 列。我继承的方式有问题吗?

最佳答案

我认为您缺少 BaseDomain 类上的 @MappedSuperclass 注释。添加该注释有望解决您的问题。

@MappedSuperclass
public class BaseDomain {
...

关于java - 继承字段“无法将 NULL 值插入列”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9214911/

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