Объект со свойствами, зависящими от его сгенерированного идентификатора - PullRequest
0 голосов
/ 07 марта 2020

Я хочу сохранить сущность вместе с шифром ее идентификатора (первичного ключа), который будет приписываться базой данных при первом сохранении сущности. Я сделал это, сохранив дважды, в первый раз для присвоения идентификатора, с обратным вызовом @PostPersist, который назначает свойство «encryptedID», и во второй раз для обновления поля «encryptedID». Моя сущность выглядит следующим образом:

import javax.persistence.*;

@Entity
@Table(name = "encryptions")
public class EncryptionTest {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    long id;

    String encryptedID;

    @PostPersist
    void updateEncryptedID(){
        this.encryptedID = encrypt(id);
    }

    private String encrypt(long idToEncrypt){
        return "encrypted_" + idToEncrypt ;
    }
}

Есть ли лучший способ сделать это, без необходимости повторяться дважды?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...