是否有一种简单的(内置)方法来获取实体的所有经过envers审核的属性?例如
public class SomeClass {
@Audited
private String auditedString;
private String otherString;
// getter, setter
}
我想知道envers中是否有一些实用程序函数,该函数为给定的类或实例返回@Audited属性数组(例如[auditedString])。
谢谢!
玛利亚
最佳答案
类似于以下内容的方法可能会起作用,但应了解代码正在访问Envers内部,并且不能保证这些代码可在各个发行版之间移植。
// Get the Envers Service
final EnversService enversService = session.getSessionFactory()
.getServiceRegistry()
.getService( EnversService.class );
// Get the entity configuration
EntityConfiguration entityCfg = enversService.getEntityConfigurations()
.get( auditEntityName );
// Set that contains the properties associated with the audited entity.
Set<PropertyData> properties = entityCfg.getPropertyMapper()
.getProperties()
.keySet();