Essa anotação deve ser especificada para campos persistentes ou propriedades do tipo java.util.Date
e java.util.Calendar
. Ele só pode ser especificado para campos ou propriedades desses tipos.
A Temporal
anotação pode ser usada em conjunto com a Basic
anotação, a Id
anotação ou a ElementCollection
anotação (quando o valor da coleção de elementos é de um tipo temporal.
Em APIs Java simples, a precisão temporal do tempo não é definida. Ao lidar com dados temporais, você pode desejar descrever a precisão esperada no banco de dados. Os dados temporais podem ter precisão de DATA, HORA ou TIMESTAMP (ou seja, a data real, apenas a hora ou ambos). Use a @Temporal
anotação para fazer o ajuste fino.
Os dados temporais são os dados relacionados ao tempo. Por exemplo, em um sistema de gerenciamento de conteúdo, a data de criação e a data da última atualização de um artigo são dados temporais. Em alguns casos, os dados temporais precisam de precisão e você deseja armazenar data / hora precisa ou ambos ( TIMESTAMP
) na tabela do banco de dados.
A precisão temporal não é especificada nas principais APIs Java. @Temporal
é uma JPA
anotação que se converte entre timestamp e java.util.Date
. Ele também se converte time-stamp
em tempo. Por exemplo, no snippet abaixo, @Temporal(TemporalType.DATE)
descarta o valor da hora e apenas preserva a data .
@Temporal(TemporalType.DATE)
private java.util.Date creationDate;
De acordo com os javadocs,
Anotação para declarar um {@code TemporalType} apropriado nos parâmetros do método de consulta. Observe que esta anotação só pode ser usada em parâmetros do tipo {@link Date} com padrãoTemporalType.DATE
[Informações acima coletadas de várias fontes]