无法将数据模型的字段保存到数据库中,但可以检索它

Suu*_*ule 13 java postgresql hibernate jpa

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

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

第一个字段是在第一个字段之后添加的.何时通过以下方式保持使用此类创建的对象:

em.persist(dataModelClass);
Run Code Online (Sandbox Code Playgroud)

创建数据库中的新行,但仅添加第一个字段.第二个是空的.当我调试对象时dataModelClass,每个字段都设置了一些整数值.当我number2通过pgAdmin 添加一个值,然后使用java代码检索此行时:

DataModelClass dmc = em.find(DataModelClass.class, 1);
Run Code Online (Sandbox Code Playgroud)

dmc.getNumber2()不为空/ null.

有什么想法有什么不对吗?

[编辑]也许它会有所帮助,在数据模型(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)
Run Code Online (Sandbox Code Playgroud)

显然这个领域存在于我的课堂上

Suu*_*ule 2

问题是,在持久化之后,有另一个查询正在用空值更新数据库。所以答案是在更新查询中更改这个值。谢谢大家。