java - Morphia:使用已弃用的配置选项对集合进行索引(复合键索引)

标签 java mongodb morphia

最近我们已从 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/

相关文章:

java - 一旦数据进入数据库,MongoDB 会弄乱数据吗?

java - 无法使用带有Java的Morphia在Mongodb中存储GeoJson Polygon对象

java - 使用哪些框架来分析 REST 服务的响应?

java - 如果在 catch 子句中抛出异常,finally 仍然运行

java - 用于编码 ASCII 的不可映射字符,但我的文件是 UTF-8

mongodb - 如何从 mongo 聚合查询中的组值中过滤掉空数组元素?

javascript - 无法在 View 目录中查找 '/user/profile'

mongodb - 汇总匹配 true 的字段数

java - 尝试 Autowiring 使用 Morphia 和 MongoDB 的类时,spring bean 配置出错

java - 在 Hibernate 中将给定日期时间转换为时间戳