如何在Morphia/MongoDB Java中创建复合唯一索引?
假设我有一个MongoDB实体,如下所示:如何在Morphia/MongoDB Java中创建复合唯一索引?,java,mongodb,morphia,Java,Mongodb,Morphia,假设我有一个MongoDB实体,如下所示: @Entity(value = "car") public class Car { public String manufacturer; public String model; public String year; public Double price; } 我想添加一个索引,使这对制造商、型号、年份是唯一的 当我尝试以下注释--@Index(@Index(value=“manufacturer,model,year,
@Entity(value = "car")
public class Car {
public String manufacturer;
public String model;
public String year;
public Double price;
}
我想添加一个索引,使这对制造商、型号、年份
是唯一的
当我尝试以下注释--@Index(@Index(value=“manufacturer,model,year,unique=true))
时,它可以工作。但它会引发以下错误:
[WARN] (main) : DatastoreImpl - This index on 'Car' is using deprecated configuration options. Please update to use the fields value on @Index: @org.mongodb.morphia.annotations.Index(unique=true, dropDups=false, background=false, name=, value=manufacturer, model, year, expireAfterSeconds=-1, disableValidation=false, sparse=false, fields=[], options=@org.mongodb.morphia.annotations.IndexOptions(unique=false, dropDups=false, background=false, name=, expireAfterSeconds=-1, disableValidation=false, language=, languageOverride=, sparse=false))
如何正确配置索引?请尝试以下操作
@Entity(value = "car")
@Indexes(@Index(fields = { @Field("manufacturer"), @Field("model"), @Field("year") }, options = @IndexOptions(unique = true)))
public class Car {
public String manufacturer;
public String model;
public String year;
public Double price;
}