Bonjour, je fais un petit programme avec de la persistance de hibernate.
j'ai cru comprendre que je pouvais me servir des deux annotations suivantes (@PrePersist et @PreUpdate) comme des triggers.
voici mon entité :
@Entity
@Table(name = "users")
public class User {

private Integer id;
private Date dateUpdated;
private Date dateCreated;

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "ID", unique = true, nullable = false)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}

@Column(name="DATE_UPDATED",nullable = false)
@Temporal(TemporalType.DATE)
@NotNull
public Date getDateUpdated() {
return this.dateUpdated;
}
public void setDateUpdated(Date dateUpdated) {
this.dateUpdated = dateUpdated;
}

@Column(name="DATE_CREATED",nullable = false)
@NotNull
@Temporal(TemporalType.DATE)
public Date getDateCreated() {
return this.dateCreated;
}
public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
}

@PrePersist
public void prePersist(){
Date date = new Date();
this.setDateCreated(date);
this.setDateUpdated(date);
}

@PreUpdate
public void preUpdate(){
this.setDateUpdated(new Date());
}

}
Normalement je m'attends à ce que quand je fais saveOrUpdate(user) , je m'attends que mes dates soient updatées ou crées. mais rien ne se passe.
par contre cela fonctionne si je fais session.persist(user) ou session.update(user)

Aurais je fais un mauvaise manipulation? Ou ne peut-on pas vraiement le faire marche comme je le pense?
Merci