Migration Guide from 4.x to 5.x
Spring Data MongoDB 5.x requires the MongoDB Java Driver 5.6+
To learn more about driver versions please visit the MongoDB Documentation.
MongoDB Java Driver 4.x Driver Compatibility Removed
Spring Data MongoDB does no longer support the 4.x MongoDB Java Driver generation.
UUID Representation Changes
Spring Data no longer defaults UUID settings via its configuration support classes, factory beans, nor XML namespace.
In order to persist UUID values the UuidRepresentation hast to be set explicitly.
-
Java
-
XML
@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 Conversion Changes
Spring Data no longer defaults BigInteger/BigDecimal conversion via its configuration support classes.
In order to persist those values the default BigDecimalRepresentation hast to be set explicitly.
@Configuration
static class Config extends AbstractMongoClientConfiguration {
@Override
protected void configureConverters(MongoConverterConfigurationAdapter configAdapter) {
configAdapter.bigDecimal(BigDecimalRepresentation.DECIMAL128);
}
// ...
}
Users upgrading from prior versions may choose BigDecimalRepresentation.STRING as default to retain previous behaviour.
DefaultMessageListenerContainer auto startup
The DefaultMessageListenerContainer that can be used to listen to e.g. Change Streams now defaults its SmartLifecycle auto startup to true.
JMX Support Discontinued.
We recommend switching to Spring Boot Actuator Endpoints.