мы используем 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)?