Je n'ai pas résolu le problème exactement, mais je l'ai contourné.
Au lieu que la base de données fournisse la valeur par défaut de now()
, je l'ai exprimé en JPA avec @PrePersist
:
@Column(name="created_at", nullable=false)
@Temporal(TemporalType.TIMESTAMP)
public Date createdAt;
@PrePersist
protected void onCreate() {
createdAt = new Date();
}
Cela fonctionne bien ! Inspiration tirée de cette réponse .Je ne sais toujours pas pourquoi Hibernate n'a pas été mis à jour avec la valeur par défaut appliquée dans la base de données. Il était bloqué en pensant que la valeur était toujours nulle.