Also habe ich so etwas:
Code: Select all
@Transient
private String password;
private String hashedPassword;
@PrePersist
@PreUpdate
private void hashPassword() {
if(password != null) {
hashedPassword = PasswordHasher.hashPassword(password);
}
}
Das Gleiche gilt jedoch nicht für ein Update – selbst wenn ein neuer Wert für das Passwort unmittelbar vor dem Zusammenführen der Entität festgelegt wird, ist das Feld zum Zeitpunkt des Aufrufs von hashPassword null. Warum ist das so? Sollten die Werte transienter Felder nicht zumindest so lange bestehen bleiben, bis die Entität beibehalten wird?
(Ich verwende übrigens EclipseLink 2.0.0, falls es einen Unterschied macht)
Mobile version