isReadable reports whether a property can be read through PersistentPropertyAccessor, by either using property access through setters, a wither, Kotlin Copy method or by accessing the field directly.
Closes#2915
Original pull request: #2916
SpelEvaluator now iterates over the parameter map instead of using the Java 8 Stream API. Previously, expressions resulting in a null value failed in the collector as Java 8 streams require non-null values for map values.
Closes#2904
We now constantly use RootBeanDefinition.setBeanClass(…) (for the raw factory type) and ….setTargetType(…) to declare the full repository factory type including the user defined repository. Any other generics are simply filled with Object.class.
Ticket: #2894.
* Move Antora-based documentation underneath src/main/antora.
* Put Antora build process behind a maven profile so it doesn't run on standard CI jobs.
* Refine build process so that final document includes injected build properties.
* Drop epub artwork since we no longer publish that.
See #2876
We now allow passing-thru TemporalAccessor auditing values, bypassing conversion if the target value type matches the value provided from e.g. DateTimeProvider.
Refined the error messages and listing all commonly supported types for which we provide converters.
Closes#2719
Original pull request #2874
Guard usage of KotlinReflectUtils with type presence check.
Extend tests to cover primitive arrays.
Move methods from KotlinValueUtils to KotlinReflectUtils.
Move copy value cache to KotlinCopyMethod.
Original Pull Request: #2866
This commit introduces support for Kotlin Value Classes which are designed for a more expressive domain model to make underlying concepts explicit. Spring Data can now read and write types that define properties using Value Classes.
The support covers reflection based instantiation of Kotlin inline class, nullability and defaulting permutations as well as value classes with generics.
Closes: #1947
Original Pull Request: #2866