0

Dans mon référentiel, j'ai des champs, qui sont annotés avec @CreatedBy et @CreationTimestamp. J'utilise printemps-sécurité pour l'authentification. Tout fonctionne, les champs dans DB sont remplis avec le nom d'utilisateur correct et créationTimestamp. Mais parfois, je dois définir la colonne créée moi-même, j'ai besoin de remplacer l'annotation @CreatedBy. Comment y parvenir?Spring AuditorAware set createdBy manuellement

Répondre

0

ID utilisateur peut être réglé manuellement à l'aide ci-dessous façons:

@PrePersist 
protected void onCreate() { 
    //retrieve userid here and set it. 
    String userUid = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 
    setCreatedBy(userUid); 
} 

@PreUpdate 
protected void onUpdate() { 
    //retrieve userid here and set it. 
    String userUid = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 
    setUpdatedBy(userUid); 
} 
+0

Eh bien, le problème est que le userId est différent à chaque fois. @PrePersist ne prend aucun paramètre. Comment transmettre un paramètre? – JamesLinux