GenericDAO.persist () не возвращает отметку времени - PullRequest
0 голосов
/ 29 ноября 2018

мы используем JPA с нашим внутренним программным обеспечением Java EE с классом genericDAO.Вызов метода javax.persistence.EntityManager.persist (t) возвращает объект «t», который мы только что записали в нашу базу данных PostgreSQL (мы хотим доставить это нашему веб-интерфейсу в ответе на вызов REST).Набор данных из базы данных сопоставляется с нашим собственным классом @Entity «Message».

Возвращенный объект дает мне все данные, которые были сохранены в базе данных, кроме метки времени.Пример:

 Field messageID: 751 Type: long
 Field messageText: test Type: class java.lang.String
 Field timestamp: null Type: class java.sql.Timestamp 
 ...

Метка времени генерируется не нашим кодом, а базой данных.Мы определяем его в нашем классе @Entity «Message» следующим образом:

 @Column(nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMPTZ DEFAULT NOW()")
 private Timestamp timestamp;

«MessageID» также генерируется PostgreSQL и возвращается должным образом.В базе данных отметка времени установлена ​​правильно.Вызов метода entityManager.createQuery (query) .getSingleResult () также возвращает действительную временную метку.

Может кто-нибудь сказать мне, почему я получаю «ноль», когда пытаюсь получить временную метку с помощью persist (t)?

...