У меня есть таблица с датой последнего изменения.Я хочу установить это вручную в моей программе.Как ни странно, JPA правильно читает объект и присутствует дата, поэтому ошибка столбца фактически невозможна.Однако, когда я создаю новый объект сейчас, появляется сообщение об ошибке, что JPA не может записать NULL в поле LastChange Date. (Перед сохранением () EntityManager я проверил, является ли дата NULL и существует ли она) Я использую WAS 9.0 иEclipselink по умолчанию с JPA 2.1
Здесь, в моем классе Testfall:
@Column(Name="LetztesAenderungsdatum",insertable=true,updateable=true)
private java.sql.Date letztesAenderungsdatum
Схема таблицы
CREATE TABLE Test
(
Testfall_Id INT (7),
LetztesAenderungsdatum DATE NOT NULL,
Name VARCHAR (25) NOT NULL,
Verfahren_FK INT CONSTRAINT Verfahren_FK REFERENCES
Verfahren(VERFAHREN_ID),
CONSTRAINT testfall_Id PRIMARY KEY(Testfall_Id)
);
до трассировки стекаSysout с датой: [12.06.18 13: 45: 14: 415 CEST] 0000009f SystemOut O Testfall letztes Aenderungsdatum: 2018-06-12
трассировка стека:
[12.06.18 13:45:25:289 CEST] 0000009f eclipselink W [eclipselink] Ausnahme [EclipseLink-4002] (Eclipse Persistence Services - 2.6.3.WAS-v20170717-04d37b5): org.eclipse.persistence.exceptions.DatabaseException
Interne Ausnahme: java.sql.SQLIntegrityConstraintViolationException: ORA-01400: Einfügen von NULL in ("SCHEMA"."TESTFALL"."LETZTESAENDERUNGSDATUM") nicht möglich
Fehlercode: 1400
Aufruf: INSERT INTO SCHEMA.Testfall (Testfall_Id, Beschreibung, LetztesAenderungsdatum, Name, Verfahren_FK) VALUES (?, ?, ?, ?, ?)
bind => [5 parameters bound]
Abfrage: InsertObjectQuery(myPackage.beans.Testfall@bcd7e11c)