带有@Version的Spring mongo InvalidPersistentPropertyPath

时间:2018-12-31 12:48:01

标签: spring spring-boot spring-data spring-data-mongodb

我正在从Spring Boot 2.0.0迁移到2.1.1。迁移后,我面临的几个问题之一是带有某些字段和@version的文档的InvalidPersistentPropertyPath。以前在Spring Boot 2.0.0中可以正常工作

以下是我要保存在mongo db中的示例文档:

@Document
@Data
@NoArgsConstructor
public class Report  implements Serializable {
    @Id
    protected String id;

    @NotNull
    @Field("ReportName")
    protected String reportName;

    @Field("IA1Value")
    private Long iA1Value = 0L;

    @Field("IA2Value")
    private Long iA2Value = 0L;

    @Version
    private Long version;

    public Report(String reportName) {
        this.reportName = reportName;
    }

}

我编写了一个测试用例以读取并保存到mongo DB。

  

org.springframework.data.mapping.context.InvalidPersistentPropertyPath:   在类上找不到属性“ IA1Value”   com.experiments.migration.mongo.Report!你的意思是:   IA2Value,IA1Value,iA2Value,iA1Value?

但是如果@Version被注释,它就可以工作。...

我想知道与@Version有什么关系。

整个示例都在:

https://github.com/KencyK/spring-boot-migration

注意:请请勿建议保留字段名称。因为我知道那会解决。我想知道如果删除@Version为何能奏效。

我还尝试了在春季启动版2.0.0中使用的旧版Lombok

0 个答案:

没有答案