Не удается сохранить поле модели данных в базе данных, но может извлечь его

У меня возникла проблема при попытке сохранить класс модели данных в базе данных. У меня такой класс:

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, каждое поле задается с некоторым целым значением. Когда я добавив значение для number2 через pgAdmin, а затем извлечение этой строки с кодом Java с помощью:

DataModelClass dmc = em.find(DataModelClass.class, 1);

Чем dmc.getNumber2() не пуст /null.

У кого-нибудь есть идеи, что не так?

[Edit] Возможно, это поможет немного больше. В классе данных (DataModelClass) я получил эту аннотацию:

@Entity
@Table(name = "custom_table",
       [email protected](name="UK_example_foreign_id", columnNames={"example_foreign_id"})
)
@SequenceGenerator(name = DataModelClass.SEQ_NAME, sequenceName = DataModelClass.SEQ_NAME, allocationSize = 1)

Очевидно, что это поле существует в моем классе

Ответы

Ответ 1

Проблема заключалась в том, что после сохранения был еще один запрос, который обновлял базу данных с нулевым значением. Таким образом, ответ заключался в том, чтобы изменить это значение в запросе обновления. Спасибо всем.

Ответ 2

Я бы проверял, обновлена ли моя база данных как класс сущности.