Hibernate envers - 获取实体的审计属性

时间:2016-02-10 11:05:08

标签: java hibernate hibernate-envers

是否有一种简单的(内置)方法来获取实体的所有envers审计属性?例如

public class SomeClass {
    @Audited
    private String auditedString;

    private String otherString;
    // getter, setter
}

我想知道在envers中是否有一些实用函数返回给定类或实例的@Audited属性数组(例如[auditedString])。

谢谢!

玛利亚

1 个答案:

答案 0 :(得分:1)

以下内容可行,但要了解代码正在访问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();