首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动生成Hibernate Envers主键和jpa

手动生成Hibernate Envers主键和jpa
EN

Stack Overflow用户
提问于 2017-02-23 10:49:45
回答 1查看 612关注 0票数 0

我的项目正在从Grails迁移到java,所以我将审计数据放在一个由Grails Audit插件推送的表中,现在我正在使用Java envers在Java中进行审计。我有以下疑虑:

->如果需要手动从单表推送数据到不同的Audit表( Java版本),如何才能手动生成历史数据的修订表主键,而不会与Java注释生成的主键冲突?对于新条目,我生成主键,如下所示:

代码语言:javascript
复制
    @Id
    @GeneratedValue
    @RevisionNumber
    @Column(name = "ID") @NotNull
    private Long revisionId;

->有没有其他方法可以将数据从单个审计表推送到独立的审计表(在java中),而不是手动执行?

请让我知道这件事。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-02-25 11:26:05

Envers应该在Oracle上创建名为REVISION_LISTENER的序列。

因此,您应该能够使用Oracle的语法SELECT REVISION_LISTENER.NEXTVAL来获得下一个序列值,并在您的审计表和修订实体信息表的REV字段中使用它。

这只适用于DefaultAuditStrategy

如果您打算使用ValidityAuditStrategy,为了能够填充相关字段,您必须了解Envers的内部结构。如果你正在使用这个策略,请让我知道,我会添加更多具体的细节,但它非常复杂和乏味。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42406111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档