При попытке сохранить мой объект Person появляется ошибка «Невозможно вставить значение NULL в столбец ...». Насколько я могу судить, он установлен правильно (после распечатывания значения), но в команде сохранения это не удалось.
Поле, для которого нельзя вставить нулевое значение, является унаследованным полем другого класса.
Вот моя модель:
public class BaseDomain
{
...
@Column(name="LST_UPD_PRG") private String lastUpdateProgram;
}
@Entity
@Table(name="PRSN_INF")
public class Person extends BaseDomain
{
...
@Column(name="FRS_NM") private String firstName;
@Column(name="LST_NM") private String lastName;
}
А потом я пытаюсь спасти человека вот так "
public static void main(String[] args)
{
...
Person person = new Person();
person.setFirstName("John");
person.setLastName("Doe");
person.setLastUpdateProgram("BatchJob_01");
personRepository.save(person);
}
А затем операция сохранения выдает ошибку:
com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert the value NULL into column 'LST_UPD_PRG'...
Я изначально создал класс BaseDomain, потому что каждая из таблиц в базе данных будет иметь столбец LST_UPD_PRG. Что-то не так с тем, как я делаю наследство?