此版本仍在开发中,尚未被视为稳定版。如需最新稳定版本,请使用 Spring Data MongoDB 5.0.4spring-doc.cadn.net.cn

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

Spring Data MongoDB 5.x 需要 MongoDB Java 驱动程序 5.6 及以上版本
要了解有关驱动程序版本的更多信息,请访问MongoDB 文档.spring-doc.cadn.net.cn

已移除 MongoDB Java 驱动程序 4.x 的兼容性

Spring Data MongoDB 不再支持 4.x 版本的 MongoDB Java 驱动程序。spring-doc.cadn.net.cn

UUID 表示形式的变更

Spring Data 不再通过其配置支持类、工厂 Bean 或 XML 命名空间默认设置 UUID。
为了持久化 UUID 值UuidRepresentation必须显式设置。spring-doc.cadn.net.cn

@Configuration
static class Config extends AbstractMongoClientConfiguration {

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

    // ...
}
<mongo:mongo-client>
	<mongo:client-settings uuid-representation="STANDARD"/>
</mongo:mongo-client>

BigInteger/BigDecimal 转换变更

Spring Data 不再通过其配置支持类默认进行 BigInteger/BigDecimal 的转换。 为了持久化这些值,必须显式设置默认的 BigDecimalRepresentationspring-doc.cadn.net.cn

@Configuration
static class Config extends AbstractMongoClientConfiguration {

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

    // ...
}

从早期版本升级的用户可以选择 BigDecimalRepresentation.STRING 作为默认值,以保留之前的行为。spring-doc.cadn.net.cn

DefaultMessageListenerContainer 自动启动

现在,可用于监听例如变更流(Change Streams)DefaultMessageListenerContainer,其SmartLifecycle自动启动默认值已设为truespring-doc.cadn.net.cn

JMX 支持已停止。

我们建议切换到 Spring Boot Actuator 端点spring-doc.cadn.net.cn