目前不支持公式映射 - Hibernate ORM Envers

2024-04-16

我使用 Hibernate Envers:

@Entity 
@Table(name = "user")
@Audited
class User()
{
    private String id;
    @Formula("(SELECT name FROM other c where c.id = id)")
    private Integer name;
}

它抛出:

[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: 调用init方法失败;嵌套异常是 org.hibernate.envers.configuration.internal.metadata.FormulaNotSupportedException: 目前还没有公式映射(@DiscriminatorValue 除外) 支持的

如何使用@Formula和Hibernate Envers计算实体属性?

仅供参考,当我删除 Hibernate Envers 时,它可以正常工作。


问题是你要求恩弗斯审计@Formula带注释的列,目前不支持。我已经打开JIRAHHH-11785 https://hibernate.atlassian.net/browse/HHH-11785唯一的目的是进一步研究这个问题。

但是,您应该能够使用以下方式注释公式字段@NotAuditedEnvers 应该可以很好地与该配置集成。真正的问题是,当它发现要跟踪基于公式的字段的历史记录时,它会失败。

举个例子:

@Entity
@Audited
class User {
  @Formula("SELECT name FROM Other ...")
  @NotAudited
  private String name;
  // other attributes
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目前不支持公式映射 - Hibernate ORM Envers 的相关文章

随机推荐