This change publishes a build scan to ge.spring.io for every local build from an authenticated Spring committer and for CI where appropriate access tokens are available. The build will not fail if publishing fails.
This change also allows the build to benefit from local and remote build caching, providing faster builds for all contributors.
Additionally, the project will have access to all features of Gradle Enterprise such as:
- Dashboards to view all historical build scans, along with performance trends over time
- Build failure analytics for enhanced investigation and diagnosis of build failures
- Test failure analytics to better understand trends and causes around slow, failing, and flaky tests
Originial pull request #1643
Merge basic converters into Mapping…Converters and introduce deprecated variant to provide guidance for migration off the deprecated types.
Cleanup no longer required code.
Original pull request #1618
See #1554
We now support multi-level projections by introspecting the result and the domain type and read projections directly into a DTO or a backing map for interface projections.
Original pull request #1618Closes#1554
The failsafe plugin only fails during it's verify goal, not when actually executing the tests.
The goal is by default added to the verify phase.
But for the database tests this adds it to the integration-test phase.
This ensures that the build fail as soon a test for one database fails.
Closes#1637
BatchJdbcOperations is still there, but deprecated, and not used except for deprecated places kept for backward compatibility.
This is possible since Spring Framework made the features offered by `BatchJdbcOperations` part of `NamedParameterJdbcOperations`.
Closes#1616
Remove Jetbrains annotation usage.
Simplify code, remove code that is commented out, extract methods, pass PersistentEntity as argument instead of creating instances that hold PersistentEntity as field to align the class lifecycle with its contextual usage.
Refactor AggregateReader lifecycle, use a single instance as there is no entity-specific state attached to AggregateReader.
Add Javadoc.
See #1448
Original pull request: #1622
Simplify ValueFunction mapping. Remove invariants of findBy SQL generation in favor of the Condition-based variant. Reduce visibility. Change return value of AggregateReader to List
See #1601
Original pull request: #1617
Introduce composed annotations and conditions to deduplicate annotations required for a test, to express database runtime conditions and database activation.
Simplify test configuration.
Split tests into unit test and integration test run.
Original pull request #1621Closes#1620
This properly fixes the test setup, taking into account that @ActiveProfile by default replaces any profiles set via environment variable or system property.
It turns out that the hasNext calculation in RowDocumentIterator was wrong because
a) isBeforeFirst and isBeforeLast return both false when the ResultSet is empty.
b) isBeforeFirst and isBeforeLast aren't necessarily implemented for all ResultSets and for example DB2s ResultSet implementation don't support it by default.
Closes#1615