получить TIMESTAMP - PullRequest
       9

получить TIMESTAMP

1 голос
/ 27 февраля 2012

У меня есть объект со столбцом TIMESTAMP.Когда я использую EntityManager для сохранения новой записи в моей базе данных, я вижу, что новая строка правильно установлена ​​в моей таблице, но если я пытаюсь извлечь эту сущность с подготовленным запросом, я получаю обратно сущность с атрибутом TIMESTAMP, равным Null, тогда какне является нулевым в таблице.

@Basic(optional =     false)
@NotNull
@Column(name = "devis_date_crea", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date devisDateCrea;

Примечание: до тех пор, пока я не установлю мод проверки в значение null в контексте постоянства, метод persist вызовет исключение EJBCallBackException.

1 Ответ

0 голосов
/ 27 февраля 2012

Я не уверен, если вы знаете, но SQL Timestamp на самом деле не содержит ни времени, ни даты.

Метка времени - это тип данных, который предоставляет автоматически генерируемые двоичные числа, которые гарантированно будут уникальными в базе данных. временная метка обычно используется в качестве механизма для строк таблицы версий. Размер хранилища составляет 8 байт.

Если вам нужно datetime, вы должны использовать тип datetime. если вам нужно изменять его при каждом создании и обновлении, вы можете использовать значение по умолчанию для создания и триггер для обновления.

подробнее http://msdn.microsoft.com/en-us/library/aa260631(v=sql.80).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...