我使用 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唯一的目的是进一步研究这个问题。
但是,您应该能够使用以下方式注释公式字段@NotAudited
Envers 应该可以很好地与该配置集成。真正的问题是,当它发现要跟踪基于公式的字段的历史记录时,它会失败。
举个例子:
@Entity
@Audited
class User {
@Formula("SELECT name FROM Other ...")
@NotAudited
private String name;
// other attributes
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)