4.x から 5.x への移行ガイド

Spring Data MongoDB 5.x には MongoDB Java ドライバー 5.6+ が必要です
ドライバーバージョンの詳細については、MongoDB ドキュメント (英語) を参照してください。

MongoDB Java ドライバー 4.x ドライバー互換性の削除

Spring Data MongoDB は、4.x MongoDB Java ドライバー生成をサポートしなくなりました。

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 アクチュエーターエンドポイントへの切り替えをお勧めします。