手动将审核条目添加到Hibernate Envers

问题描述 投票:0回答:1

我正在使用Hibernate Envers注释审核Java对象,但使用Pentaho(ETL)直接在数据库中创建初始对象。

我想使用ETL创建对象,并向Envers生成的object_AUD和REVINFO表添加表条目。

我一直试图从REVINFO表中找到REV列的生成策略,但我必须在错误的位置查找。有人会帮我找到有效的生成策略,这样我就可以手动将记录插入到审计表中,而不会在未来引起可能的冲突或奇怪的行为吗?

java hibernate-envers
1个回答
0
投票

您所寻求的将取决于您是否正在配置您的应用程序以采用org.hibernate.envers.use_revision_entity_with_native_id的默认值。

默认值(true)告诉Envers要求Hibernate使用基于本机的主键创建REVINFO表,该主键将是IDENTITYSEQUENCE,具体取决于您的数据库平台。如果查看数据库中REVINFO的表定义,您应该能够推断出这些信息。

如果使用false配置此属性,Envers将构造自己的序列元数据并将其提供给Hibernate。该序列称为REVISION_NUMBER,存储在名为REVISION_GENERATOR的表中。序列初始化为1并作为默认值递增1。

© www.soinside.com 2019 - 2024. All rights reserved.