私はHibernate Enversを監査に使用しています。それはうまく動作します。しかし、私はデータを変更した直後にrev idを取得しようとしています。 REV IDを取得する方法を、Hibernate Enversを使用している場合、監査直後にrev idを取得する方法
import org.golf.repository.domain.entity.CustomRevisionEntity;
import org.hibernate.envers.RevisionListener;
public class CustomRevisionListener implements RevisionListener {
public void newRevision(Object revisionEntity) {
CustomRevisionEntity revision = (CustomRevisionEntity) revisionEntity;
revision.setUsername("username"); // For testing
}
}
ので、例えば以下のようなアドレスを更新するとき:
import javax.persistence.Entity;
import org.hibernate.envers.DefaultRevisionEntity;
import org.hibernate.envers.RevisionEntity;
@Entity
@RevisionEntity(CustomRevisionListener.class)
public class CustomRevisionEntity extends DefaultRevisionEntity {
private static final long serialVersionUID = 3775550420286576001L;
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
そしてCustomRevisionListener:私は以下のようにCustomRevisionEntityがありますか?
public class TestClass {
updateAddress(address);
// how to get rev id here?
}
ありがとう!