Deprecated Spring Data JDBC's custom PersistentProperty.isReference() in favor of the already existing ….isAssociation() with the same semantics to benefit from association definitions implemented in Spring Data Commons. Make use of the newly introduced PersistentEntity.doWithAll(…) to apply the previously existing property handling to both properties and now associations, too.
Original pull request #938
Previously, JdbcCustomConversion rejected any default converter that was not converting from and to java.util.Date. This probably stemmed from the fact that up until recently, Spring Data Commons' CustomConversions only registered date related default converters. As of spring-projects/spring-data-commons#2315 we also support jMolecules' Association and Identifier converters. We've relaxed the rejection to only explicitly reject all non Date/Time related converters if the conversion is from/to java.util.Date but allow everything else out of the box.
Original pull request #937
Adds SQL scripts for all databases.
Separates tests for all databases vs. those that actually support nanosecond precision.
Original pull request: #255.
Make Jsr310TimestampBasedConverters package-private. Introduce convenience constructors to improve external configuration of JdbcCustomConversions.
Original pull request: #254.
The standard JSR 310 converters are no longer used for conversions between java.util.Date and java.time.*.
New converters based converting to/from Timestamp are used.
This preserves the precision because both the java.time.* API and Timestamp have nanosecond precision, while java.util.Date has not.
Original pull request: #254.
Those annotations cause build failures once the providing jar wasn't available anymore since kotlin removed that dependency.
Those annotations were present in the code by accident anyway since Spring has and uses its own set of annotations.
Renames *Bean annotation attributes to *Ref to match other similar attributes.
Removes additional arguments from constructors of public classes in order to avoid breaking the API.
Gathers application context configuration for StringBasedJdbcQueryMappingConfigurationIntegrationTests in a single java file.
Formatting.
Adds the author tag.
Changes default value of references to the empty String.
Original pull request: #249.
We now evaluate @Value annotations in persistence constructors to compute values when creating object instances. AtValue can be used to materialize values for e.g. transient properties. Root properties map to the ResultSet from which an object gets materialized.
class WithAtValue {
private final @Id Long id;
private final @Transient String computed;
public WithAtValue(Long id,
@Value("#root.first_name") String computed) { // obtain value from first_name column
this.id = id;
this.computed = computed;
}
}
We now support empty IN lists by rendering a condition that evaluates to FALSE using 1 = 0. For NOT IN, we render a condition that evaluates to TRUE using 1 = 1.