在我的存储库中,我有字段,其中注明了@CreatedBy
和@CreationTimestamp
。我使用 spring-security 进行身份验证。一切正常,DB中的字段都填充了正确的用户名和 creationTimestamp 。但有时我需要自己设置创建的列,我需要覆盖@CreatedBy
注释。如何实现?
答案 0 :(得分:0)
用户ID可以通过以下方式手动设置:
@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);
}