Java 将hibernate envers与自定义注释一起使用

Java 将hibernate envers与自定义注释一起使用,java,hibernate,classloader,hibernate-envers,interception,Java,Hibernate,Classloader,Hibernate Envers,Interception,在我当前的项目中,我们需要以精简的方式(尽可能精简)分发一个包含实体类的JAR,以便与REST客户机一起使用。注释@Entity(来自JPA)不是问题,但是当使用hibernate envers@Audited注释相同的类时,依赖性就会成为问题 我目前解决这个问题的想法不是使用实体类的接口,而是创建一个@CustomAuditAnnotattion,并在hibernate引导期间将它们识别为hibernate envers注释 像这样的事情: @实体 @自定义审核注释 公共类MyUnity实现

在我当前的项目中,我们需要以精简的方式(尽可能精简)分发一个包含实体类的JAR,以便与REST客户机一起使用。注释@Entity(来自JPA)不是问题,但是当使用hibernate envers
@Audited
注释相同的类时,依赖性就会成为问题

我目前解决这个问题的想法不是使用实体类的接口,而是创建一个@CustomAuditAnnotattion,并在hibernate引导期间将它们识别为hibernate envers注释

像这样的事情:

@实体
@自定义审核注释
公共类MyUnity实现可序列化{
...
}
在冬眠催眠期间:

。。。

公共无效onEntityClassLoad(类如何控制一个类中的某些属性不被审核而其他属性被审核的情况?如何处理其他Envers注释,如
AuditMappedBy
AuditJoinTable
,等等。我理解Envers注释需要完整的Hibernate堆栈的问题,但同样会如果您也使用了任何自定义Hibernate注释,这是正确的,对吗?这确实可能是一个问题,但目前不需要此类注释。在Hibernate envers XML配置实现之前,只有一种方法…创建“精简注释”作为替代,我想。您打算如何控制这样的场景:一个类中的某些属性不需要审核,而其他属性需要审核?您打算如何处理其他Envers注释,例如
AuditMappedBy
AuditJoinTable
,等等。我理解Envers注释需要完整Hibernate堆栈的问题,但是,如果您也使用任何自定义Hibernate注释,情况也是如此,对吗?这确实可能是一个问题,但目前不需要这样的注释。在Hibernate envers XML配置实现之前,我认为唯一的方法是创建“精简注释”作为替代品。