From c9073bc546822dc5bec55e2bea02a62638bb6fc3 Mon Sep 17 00:00:00 2001 From: Andrey Litvitski Date: Tue, 22 Apr 2025 18:34:34 +0300 Subject: [PATCH] Deprecate MongoCustomConversions.BigDecimalRepresentation.STRING Signed-off-by: Andrey Litvitski --- .../data/mongodb/core/convert/MongoCustomConversions.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoCustomConversions.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoCustomConversions.java index 050c3bd27d..e3cec55c4a 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoCustomConversions.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoCustomConversions.java @@ -158,7 +158,7 @@ public static class MongoConverterConfigurationAdapter { private static final Set> JAVA_DRIVER_TIME_SIMPLE_TYPES = Set.of(LocalDate.class, LocalTime.class, LocalDateTime.class); private boolean useNativeDriverJavaTimeCodecs = false; - private BigDecimalRepresentation bigDecimals = BigDecimalRepresentation.STRING; + private BigDecimalRepresentation bigDecimals = BigDecimalRepresentation.DECIMAL128; private final List customConverters = new ArrayList<>(); private final PropertyValueConversions internalValueConversion = PropertyValueConversions.simple(it -> {}); @@ -448,9 +448,10 @@ private boolean hasDefaultPropertyValueConversions() { public enum BigDecimalRepresentation { /** - * Store values as {@link Number#toString() String}. Using strings retains precision but does not support range - * queries. + * @deprecated since 5.0.0 — storing values as {@link Number#toString() String} retains precision, + * but prevents efficient range queries. Prefer {@link #DECIMAL128} for better query support. */ + @Deprecated(since = "5.0.0") STRING, /**