Envers在Embedded类Audited中找不到复合属性。我有:
@Embeddable
public class Allocation {
private Long value;
...
}
@Entity
@Table(name = "payment")
@Audited
@AuditTable(value="payment_allocation")
public class PaymentEntity extends AbstractEntity {
// All propert is not Audited except Allocation
@Embedded
@NotAudited
private Transaction transaction;
@Audited
@Embedded
private Allocation allocation;
...
}
所以当我打电话时:
AuditReaderFactory
.get(entityManager)
.createQuery()
.forRevisionsOfEntity(PaymentEntity.class, true, true)
.add(AuditEntity.property("allocation.value").eq(1l))
.getResultList();
我有一个
org.hibernate.QueryException:无法解析属性:分配:.... PaymentEntity_AUD
我只是尝试“价值”,我有同样的例外。
我想要价值为1L的所有付款的历史记录。那么,访问复合属性有什么不同,比如我们构建一个Query?
答案 0 :(得分:1)
所以,我找到了解决方案:https://hibernate.atlassian.net/browse/HHH-9178
财产的名称不是" allocation.value"但是" allocation_value"。