gpt4 book ai didi

hibernate-envers - Hibernate Envers rev 列数据类型为整数

转载 作者:行者123 更新时间:2023-12-04 08:35:51 30 4
gpt4 key购买 nike

我在我的应用程序中使用 Hibernate Envers 来存储审计跟踪数据,所有与审计相关的信息都正确存储在 *_AUD 表中。但是,所有_AUD表中rev列的数据类型都是Integer数据类型。我期待一个 big int 数据类型,因为 integer 数据类型的最大范围是 2147483647。有没有办法将数据类型更改为 big int?

最佳答案

默认情况下,Envers 实现使用 Integer REV 的数据类型柱子。

为了杠杆Long数据类型,您需要提供带有适当注释的自定义修订实体。下面是一个示例,它将在使用 BIGINT 时替换现有的默认实现。兼容 REV柱子。

@Entity
@RevisionEntity
public class CustomRevisionEntity implements Serializable {
@Id
@GeneratedValue
@RevisionNumber
private Long rev;
@RevisionTimestamp
private Long timestamp;
/* provide getter/setters */
}

注意:所有审计表都会生成它们的 REV列的数据类型与您在修订实体类中使用的数据类型相匹配。

有一个开放的JIRA HHH-6615迁移默认实现以使用 Long而不是 Integer基于修订;但是,它确实要求我们将升级路径视为该问题的实现细节,以考虑到现有用户。

在此之前,为新实现使用自定义修订实体是一种解决方法。

关于hibernate-envers - Hibernate Envers rev 列数据类型为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38589065/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com