Не может сохранить поле модели данных в базе данных, но может извлечь его - PullRequest
0 голосов
/ 27 августа 2018

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

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() не является пустым / нулевым.

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

[Изменить] Может быть, это поможет немного больше, На классе модели данных (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)

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

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

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

0 голосов
/ 04 сентября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...