尝试将数据模型类持久化到数据库时遇到问题。我有一个这样的课:

class DataModelClass{
    //some more field etc.

    @Column(name = "number1", nullable = true)
    private Integer number1;

    @Column(name = "number2", nullable = true)
    private Integer number2;

    public DataModelClass(){}

    (...)

    public Integer getNumber2() {
        return number2;
    }

    public void setNumber2( Integer number2 ) {
        this.number2= number2;
    }
}

在第一个字段之后添加第二个字段。何时通过以下方式持久化使用此类创建的对象:
em.persist(dataModelClass);

在数据库中创建了一个新行,但仅添加了第一个字段。第二个是空的。当我调试对象dataModelClass时,每个字段都设置了一些整数值。
当我通过pgAdmin添加number2的值时,然后通过以下代码使用Java代码检索此行:
DataModelClass dmc = em.find(DataModelClass.class, 1);
dmc.getNumber2()不为空/空。

有人有什么想法吗?

[编辑]
也许会有所帮助,在数据模型(DataModelClass)类上,我得到了以下注释:
@Entity
@Table(name = "custom_table",
       uniqueConstraints=@UniqueConstraint(name="UK_example_foreign_id", columnNames={"example_foreign_id"})
)
@SequenceGenerator(name = DataModelClass.SEQ_NAME, sequenceName = DataModelClass.SEQ_NAME, allocationSize = 1)

显然,此字段存在于我的类(class)

最佳答案

我将检查数据库是否已更新为实体类。

09-10 07:17
查看更多