Итак, у меня есть что-то вроде этого:
Код: Выделить всё
@Transient
private String password;
private String hashedPassword;
@PrePersist
@PreUpdate
private void hashPassword() {
if(password != null) {
hashedPassword = PasswordHasher.hashPassword(password);
}
}
Однако это не относится к обновлению — даже если новое значение пароля установлено непосредственно перед слиянием объекта, к моменту вызова hashPassword поле становится нулевым. Почему это? Разве значения временных полей не должны сохраняться, по крайней мере, до тех пор, пока объект не будет сохранен?
(кстати, я использую EclipseLink 2.0.0, если это имеет какое-то значение)
Подробнее здесь: https://stackoverflow.com/questions/341 ... -is-called
Мобильная версия