[英]Hibernate envers: how to get the current audited table name?
使用 Hibernate Envers,是否可以獲得當前審核的表? 我從文檔中獲取了示例,但我添加了一個額外的列tableName
:
@Entity
@RevisionEntity(ExampleListener.class)
public class ExampleRevEntity extends DefaultRevisionEntity {
private String username;
private tableName;
...
}
和聽眾:
public class ExampleListener implements RevisionListener {
public void newRevision(Object revisionEntity) {
ExampleRevEntity exampleRevEntity = (ExampleRevEntity) revisionEntity;
...
exampleRevEntity.setUsername(...);
exampleRevEntity.setTableName(...); // How to get the current table audited table?
}
}
我發現這篇舊帖子Get audit table name from hibernate envers? 但沒有相關的答案。 非常感謝
您可以使用EntityTrackingRevisionListener
,它是RevisionListener
的擴展。
public class ExampleRevEntityListener
implements EntityTrackingRevisionListener {
@Override
public void entityChanged(java.lang.Class entityClass, java.lang.String entityName,
java.io.Serializable entityId, RevisionType revisionType, java.lang.Object revisionEntity) {
Table tableAnnotation = entityClass..getAnnotation(javax.persistence.Table.class).name();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.