У меня настроен одитинг, как показано ниже, и он работает нормально. Проблема в том, что когда я хочу получить доступ к ним в транзакционном методе перед обновлением, идентификатор / дата обновления всегда равны нулю, и я не уверен, почему.
@CreatedBy
@Column(name = "CREATE_ID", updatable = false, nullable = false)
private String createId;
@LastModifiedBy
@Column(name = "UPDATE_ID", nullable = false)
private String updateId;
@CreatedDate
@Column(name = "CREATE_DATE", updatable = false, nullable = false)
private Date createDate;
@LastModifiedDate
@Column(name = "UPDATE_DATE", nullable = false)
private Date updateDate;
Методы создания / обновления, которые вызывают save.
Примечание: ОБА из них работают нормально, создавая / обновляя записи в базе данных с правильными значениями аудита создания / обновления. Проблема в том, что я не могу получить доступ к идентификатору / дате обновления в методе обновления, и я Я не уверен, почему / как это исправить.
@Override
@Transactional
public MyObj create(MyObj myObj) {
MyObj createdMyObj = myObjRepo.save(myObj);
System.out.println(createdMyObj.getCreateId()); // This works fine
return createdMyObj;
}
@Override
@Transactional
public MyObj update(MyObj myObj) {
MyObj updatedMyObj = myObjRepo.save(myObj);
System.out.println(updatedMyObj.getUpdateId()); // This is null
return updatedMyObj;
}