最近我们已从 Morphia 0.99 升级到 1.2.x,并将 MongoDB 升级到 3.2。
之后,我们在使用具有复合键索引的集合对象时看到很多警告消息。
警告示例如下:
WARNING: This index on 'RowData' is using deprecated configuration options. Please update to use the fields value on @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(unique=false, 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 { ... }
有什么办法可以抑制警告消息吗?
最佳答案
无需抑制警告,它是为了告诉您正在使用的配置很快将不受支持。
试试这个吧
@Indexes({
@Index(fields = {@Field(value = "resultSetId"), @Field("rowSequence")})
})
索引选项注意事项:
如果从较旧的索引语法迁移到最新的索引语法,请完全保留 IndexOptions 部分(如上所示),或者确保在更改之前在集合上设置相同的选项。否则,您将收到与 IndexOptions 相关的异常。
关于java - Morphia:使用已弃用的配置选项对集合进行索引(复合键索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40299652/