【发布时间】:2021-09-09 02:48:07
【问题描述】:
您好,我想知道是否可以将像 Operation_id 这样的自定义字段添加到 revinfo 表中,该字段将具有自定义操作,如 ADD_TRAVEL_OP。这些操作应该在每个端点中静态或动态设置。
@Entity
@Table(name = "revinfo")
@RevisionEntity(AuditRevisionListener.class)
public class AuditRevisionEntity extends DefaultRevisionEntity implements Serializable {
@Column(name = "rev")
private int revision;
private String username;
private String operationId;
public int getRevision() {
return revision;
}
public void setRevision(final int revision) {
this.revision = revision;
}
public String getUsername() {
return username;
}
public void setUsername(final String userName) {
this.username = userName;
}
public String getOperationId() {
return operationId;
}
public void setOperationId(final String operationId) {
this.operationId = operationId;
}
@Configuration
public class AuditRevisionListener implements RevisionListener {
@Override
public void newRevision(Object revisionEntity) {
final AuditRevisionEntity are = (AuditRevisionEntity) revisionEntity;
final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication instanceof UserDetails) {
UserDetails userDetails = (UserDetails) authentication.getPrincipal();
are.setUsername(userDetails.getUsername());
} else {
are.setUsername(authentication.getName());
}
}
}
【问题讨论】:
标签: java spring-boot spring-data-jpa audit hibernate-envers