PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come mappare la colonna timestamp sul tipo JPA?

Non ho risolto esattamente il problema, ma ho risolto.

Invece di fare in modo che il database fornisca il valore predefinito di now() , l'ho espresso in JPA con @PrePersist :

@Column(name="created_at", nullable=false)
@Temporal(TemporalType.TIMESTAMP)
public Date createdAt;

@PrePersist
protected void onCreate() {
    createdAt = new Date();
}

Funziona bene! Ispirazione tratta da questa risposta .Non sono ancora sicuro del motivo per cui Hibernate non è stato aggiornato con il valore predefinito applicato nel database. Si è bloccato pensando che il valore fosse ancora nullo.