Morphia:使用弃用配置选项收集索引(复合键索引)

时间:2016-10-28 06:54:40

标签: java mongodb morphia

最近我们已经从Morphia 0.99升级到1.2.x,MongoDB升级到3.2。

之后,我们在使用具有复合键索引的集合对象时看到了很多WARNING消息。

示例警告如下:

  

警告:'RowData'上的这个索引是   使用不推荐的配置选项。请更新以使用   @Index上的字段值:   @ org.mongodb.morphia.annotations.Index(unique = false,dropDups = false,   name =,background = false,expireAfterSeconds = -1,value = resultSetId,   rowSequence,disableValidation = false,sparse = false,fields = [],   options=@org.mongodb.morphia.annotations.IndexOptions(独特=假,   dropDups = false,name =,background = false,expireAfterSeconds = -1,   disableValidation = false,language =,languageOverride =,sparse = false))

Object上的索引标记如下:

@Entity(noClassnameStored = true)
@Indexes({@Index("resultSetId, rowSequence")})
public class RowData implements Transportable { ... }

有没有办法抑制警告信息?

1 个答案:

答案 0 :(得分:1)

无需取消警告,它会告诉您正在使用的配置不会很快得到支持。

试试这个

@Indexes({ 
    @Index(fields = {@Field(value = "resultSetId"), @Field("rowSequence")})
})

关于IndexOptions的注意事项:
如果从较旧的Index语法迁移到最新版本,则要么完全保留IndexOptions部分(如上所述),要么确保在更改之前在集合中设置相同的选项。否则,您将获得与IndexOptions相关的异常。