У меня проблема при попытке сохранить класс модели данных в базе данных. У меня есть такой класс:
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)
Очевидно, это поле существует в моем классе