Switch to Spring Framework duration formatting.
Favour expireAfter with string parameter over the seconds based variant. Deprecate the existing expireAfterSeconds attribute of the Indexed annotation.
Consider property value syntax when parsing timeout expressions.
Remove DurationStyle (package visible).
Update documentation.
Original Pull Request: #4114
Fix the id mapping for queries using the $all operator. Prior to this change the collection nature of the id values was not preserved leading to an invalid query.
Original pull request: #4742Closes#4736
Fix ComputedFieldAppender as it is used in public API. Add missing Nullable annotation.
Switch to switch expressions.
Original pull request #4751
See #4745
This commit fixes an issue where settings regarding storage of null values had been ignored if a custom converter took care of the conversion.
Original pull request: #4728Closes#4710
We now use a different utility method that is aware of whether a return type maps to Kotlin's Unit to indicate a void return type.
Previously, we only checked for Java's void types.
Closes#4772
This commit makes sure to generate required cglib proxies during AOT phase so they are ready to use within a native image. Prior to this change default sorting raised an error as class generation is not allowed in a GraalVM native image.
Original pull request: #4747Closes#4744
We now compare the other object whether it equals the delegate in case UnwrappedMongoPersistentProperty.equals is being called with the MongoPersistentProperty retrieved from a MappingContext.
This ensures that unwrapped properties can be compared to vanilla MongoPersistentProperty instances when checking constructor/creator method correlation of parameters.
Closes#4732
Introduce FieldLookupPolicy and methods to create field-exposing/inheriting AggregationOperationContexts.
Move off RelaxedTypeBasedAggregationOperationContext.
See #4714
Original pull request: #4720
Avoid duplicate query mapping for document replacement operations when the filter query can be determined from the already mapped _id field.
See #4707
Original pull request: #4719
This commit fixes an issue where the property type for nested fields of an complex id is not handed over correctly leading to wrong conversion results eg. for Instant types that got then turned into ObjectIds.
Closes#4707
Original pull request: #4719
Parsing of string based aggregations lead to multiple invocations of potential converters due to missing reuse of bound parameter value as well as attempts to verify out/merge stages within the pipeline that triggered the stage to be converted into the target document.
The changes in this commit, reduce the number down to 2. One for examining potential expression dependencies and one for the actual conversion and parameter binding.
See #4712
Original pull request: #4717
This commit fixes an issue where patterns targeting id properties might have been falsely converted into the properties type, turning a Pattern into it's string representation.
Closes#4674
Original pull request: #4718