spring data envers-获取枚举值不再存在的实体修订失败

n7taea2i  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(242)

我有一个具有枚举字段和与其他表的关系的实体。问题是枚举已经随着时间的推移而改变,我需要查看现在无效的更改值。

@Audited
@Entity
@Table(name = "FILE")
public class FileEntity extends RevisionAudit {

    @ElementCollection(fetch = FetchType.EAGER)
    @CollectionTable(
            name = "FILE_TYPE",
            joinColumns = @JoinColumn(name = "FILE_ID")
    )
    private Set<FileTypeEntity> types = new HashSet<>();

    @Enumerated(EnumType.STRING)
    private FileFormat format;
}

获取具有常规auditreader.forrevisionsofentity的实体在尝试填充枚举字段时自然会失败。我尝试将字段值Map到如下字符串:

auditQuery.addProjection(property("format").function("to_char"))

这也适用于无效的枚举值。但是添加字段投影只会返回投影字段,我还不能将投影添加到 types 关系。
有没有其他方法可以将值强制为字符串或将关系添加到投影中?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题