我有一个 Location 对象,当它们持久化到 mongodb 时我需要强制属性的顺序,但我不太幸运地知道如何去做。 Location 类类似于:
Location {
float lat;
float lon;
County county;
}
当它持久化到 mongo 中时,县总是在纬度和经度之前。这是一个问题,因为我正在尝试在其上放置一个地理索引,并且前两个属性必须是纬度/经度。
我试过:
@XmlRootElement(name="location")
@XmlType(propOrder={"latitude", "longitude", "county"})
Location {
float lat;
float lon;
County county;
}
当 location 对象被序列化为 xml 到我的客户端而不是数据库时,这有效。似乎 spring 数据或一些 mongo 映射器总是按字母顺序做事。
有谁知道如何强制将订单属性持久保存到 mongo 中? 谢谢!
最佳答案
您可以使用@Field 注释的顺序属性来强制字段顺序。所以,如果你有:
Location {
@Field(order = 1)
float lat;
@Field(order = 2)
float lon;
@Field(order = 3)
County county;
}
字段按以下顺序保存:纬度、经度、县。
关于java - 在 Spring Data MongoDB 映射中强制属性顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294417/