Чтобы код был немного чище, вы можете использовать @PostPersist
, поэтому добавьте метод, как показано ниже, к вашему Document
:
@PostPersist
private void postPersist() {
int year = Calendar.getInstance().get(Calendar.YEAR);
this.protocolNumber = this.getId() + "/" + year ;
}
Вам не нужно снова сохранять / сохранять экземпляр после этого обновления. Так что если вам действительно нужно хранить protocolNumber
в базе данных.
Но: это protocolNumber
также является переходным значением, поэтому вы можете рассмотреть возможность добавления только поля year
в Document
, удаления поля protocolNumber
и создания метода получения, подобного:
public String getProtocolNumber() {
return this.id + "/" + this.year;
}
Таким образом, вам не нужно знать id
при сохранении.