是否有一种简单的(内置)方法来获取实体的所有经过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();

10-06 05:41