4.x から 5.x への移行ガイド
Spring Data MongoDB 5.x には MongoDB Java ドライバー 5.6+ が必要です
ドライバーバージョンの詳細については、MongoDB ドキュメント (英語) を参照してください。
UUID 表現の変更
Spring Data は、構成サポートクラス、ファクトリ Bean、または XML 名前空間を介して UUID 設定をデフォルト設定しなくなりました。
UUID 値を保持するには、UuidRepresentation を明示的に設定する必要があります。
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 変換の変更
Spring Data は、設定サポートクラスを介して BigInteger/BigDecimal 変換をデフォルト設定しなくなりました。これらの値を保持するには、デフォルトの BigDecimalRepresentation を明示的に設定する必要があります。
@Configuration
static class Config extends AbstractMongoClientConfiguration {
@Override
protected void configureConverters(MongoConverterConfigurationAdapter configAdapter) {
configAdapter.bigDecimal(BigDecimalRepresentation.DECIMAL128);
}
// ...
} 以前のバージョンからアップグレードするユーザーは、以前の動作を維持するために、BigDecimalRepresentation.STRING をデフォルトとして選択できます。
DefaultMessageListenerContainer 自動起動
たとえば Change Streams をリッスンするために使用できる DefaultMessageListenerContainer では、デフォルトで SmartLifecycle の自動起動が true に設定されるようになりました。
JMX サポートは廃止されました。
Spring Boot アクチュエーターエンドポイントへの切り替えをお勧めします。