我第一次使用jboss envers,它看起来不错。它似乎也很容易使用。
但是我遇到了一个问题:当我使用内置的 ddl 生成从我的注释类创建 ddl 时,它会为我的所有类创建审计表,而不仅仅是我想要审计的那些。
例如,我有一个类,我注释如下:
@Entity
@Table(name="partner")
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
public class Partner {
由于注释,我希望不会为此类创建 partner_aud 表。
但是,ddl 是为 partner 和 partner_aud 创建的。
我究竟做错了什么?
ant 构建配置如下所示:
<hibernatetool destdir=".">
<classpath>
<path refid="toolslib" />
<path location="/Users/matt/workspace/new_Pricing_Tool_PoC/lib/slf4j-api-1.5.8.jar" />
<path location="/Users/matt/workspace/new_Pricing_Tool_PoC/lib/slf4j-log4j12-1.5.8.jar" />
<path location="/Users/matt/workspace/new_Pricing_Tool_PoC/bin" />
<fileset dir="new_Pricing_Tool_PoC/lib/">
<include name="*.jar"/>
</fileset>
<pathelement location="classes"/>
<dirset dir="new_Pricing_Tool_PoC/bin">
<include name="**/classes/**"/>
</dirset>
</classpath>
<jpaconfiguration persistenceunit="pricing" />
<hbm2ddl
drop="false"
create="true"
export="false"
outputfilename="new_Pricing_Tool_PoC/db/auto-build.sql"
delimiter=";"
format="true"/>
另外,我已经确认 hibernate 确实在使用审计表来存储合作伙伴对象的过去修订。