跳到主要内容
版本:5.1.1

从 4.x 到 5.x 的迁移指南

Doubao 中英对照 Migration Guide from 4.x to 5.x

Spring Data MongoDB 5.x 要求使用 MongoDB Java Driver 5.6 及以上版本。
要了解有关驱动程序版本的更多信息,请访问 MongoDB 文档。

移除 MongoDB Java Driver 4.x 兼容性​

Spring Data MongoDB 不再支持 4.x 世代的 MongoDB Java Driver。

UUID 表示形式变更​

Spring Data 不再通过其配置支持类、工厂 Bean 或 XML 命名空间为 UUID 设置提供默认值。
要持久化 UUID 值,必须显式设置 UuidRepresentation。

@Configuration
static class Config extends AbstractMongoClientConfiguration {

@Override
protected void configureClientSettings(MongoClientSettings.Builder builder) {
builder.uuidRepresentation(UuidRepresentation.STANDARD);
}

// ...
}

BigInteger/BigDecimal 转换变更​

Spring Data 不再通过其配置支持类为 BigInteger/BigDecimal 转换提供默认值。要持久化这些值,必须显式设置默认的 BigDecimalRepresentation。

@Configuration
static class Config extends AbstractMongoClientConfiguration {

@Override
protected void configureConverters(MongoConverterConfigurationAdapter configAdapter) {
configAdapter.bigDecimal(BigDecimalRepresentation.DECIMAL128);
}

// ...
}

从早期版本升级的用户可以选择 BigDecimalRepresentation.STRING 作为默认值,以保留原先的行为。

DefaultMessageListenerContainer 自动启动​

可用于监听(例如_变更流_)的 DefaultMessageListenerContainer,现在默认将其 SmartLifecycle 自动启动设为 true。

停止支持 JMX。​

我们建议切换到 Spring Boot 的 Actuator 端点。