Commit Graph

252 Commits

Author SHA1 Message Date
Mark Paluch
40c971e836 DATAJDBC-615 - Prepare next development iteration. 2020-10-28 16:10:20 +01:00
Mark Paluch
9dbb810831 DATAJDBC-615 - Release version 2.1 GA (2020.0.0). 2020-10-28 15:46:54 +01:00
Jens Schauder
1f36fbccf6 DATAJDBC-622 - Polishing.
Corrected the author tags.
I used the wrong author in the previous polishing commit.

Original pull request: #245.
2020-10-26 12:25:32 +01:00
Jens Schauder
a9c4445501 DATAJDBC-622 - Add test for negative case.
This demonstrates that the configured reference is actually used.

Original pull request: #245.
2020-10-26 11:11:33 +01:00
Jens Schauder
1ef97dd00f DATAJDBC-622 - Polishing.
Rolled back changes to tests.
Added @author and @since tags.

Original pull request: #245.
2020-10-26 11:11:16 +01:00
Antoine Sauray
41c88bcd0c DATAJDBC-622 - Support transactionManagerRef in @EnableJdbcRepositories.
Original pull request: #245.
2020-10-26 11:10:56 +01:00
Jens Schauder
f23b987642 DATAJDBC-616 - Polishing.
Corrected name since AssumeFeatureRule is not a Rule but an ExecutionListener.
2020-10-16 10:59:21 +02:00
Jens Schauder
18100b44f3 DATAJDBC-616 - Fixes a test with sporadic failures.
The schema created in the setup script didn't get cleaned up when it contained tables, which it does once the setup script ran once.
2020-10-16 10:59:21 +02:00
Jens Schauder
9658ac1668 DATAJDBC-616 - Migrates to JUnit 5.
MockitoRunner -> MockitoExtension.
SpringRunner, SpringClassRule & SpringMethodRule -> SpringExtension.
2020-10-16 10:59:21 +02:00
Christoph Strobl
05fc5d49fd DATAJDBC-602 - Prepare next development iteration. 2020-10-14 14:48:45 +02:00
Christoph Strobl
f56ddc2779 DATAJDBC-602 - Release version 2.1 RC2 (2020.0.0). 2020-10-14 14:28:55 +02:00
Jens Schauder
6a9aa51e55 DATAJDBC-349 - Polishing.
Original pull requests: #248, #242.
2020-10-13 13:54:37 +02:00
Jens Schauder
66e3ad9815 DATAJDBC-349 - Polishing.
Original pull requests: #248, #242.
Fixes superfluous commata and unsupported data types.
Cleaning up database objects before (re)creating them.
2020-10-13 13:54:15 +02:00
Myat Min
e26f6647da DATAJDBC-349 - Adds a unit test for the changes.
Original pull request: #242.
2020-10-13 13:53:54 +02:00
Yunyoung LEE
dc535e9791 DATAJDBC-349 - Apply JdbcConverter on reference ids.
Original pull request: #248.
2020-10-13 13:52:58 +02:00
Jens Schauder
1b1395ab73 DATAJDBC-430 - Polishing.
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.
2020-10-12 17:16:37 +02:00
Hebert
c356a8ca41 DATAJDBC-430 Allow specification of rowMapperRef or resultSetExtractorRef as bean references.
This allows lookup of such beans by name, thereby allowing for full dependency injection support.

Original pull request: #249.
2020-10-12 15:05:24 +02:00
Mark Paluch
109adbcbf4 DATAJDBC-606 - Adopt to changes in Spring Data Commons.
Adopt to new mock requirements.
2020-09-22 16:24:56 +02:00
Mark Paluch
9cd8fc16b3 DATAJDBC-508 - Add support for @Value in persistence constructors.
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;
		}
	}
2020-09-22 11:48:56 +02:00
Mark Paluch
842a309f27 DATAJDBC-604 - Support empty IN lists.
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.
2020-09-22 09:58:10 +02:00
Mark Paluch
0713e5a048 DATAJDBC-590 - Prepare next development iteration. 2020-09-16 14:05:24 +02:00
Mark Paluch
25b8b7c909 DATAJDBC-590 - Release version 2.1 RC1 (2020.0.0). 2020-09-16 13:57:41 +02:00
Mark Paluch
8271aff800 DATAJDBC-571 - Prepare next development iteration. 2020-08-12 12:00:19 +02:00
Mark Paluch
6dccea722f DATAJDBC-571 - Release version 2.1 M2 (2020.0.0). 2020-08-12 11:52:05 +02:00
Mark Paluch
fc8d51cd3b DATAJDBC-586 - Guard JdbcRepositoryFactoryBean against setting null values for properties. 2020-07-30 16:43:12 +02:00
Mark Paluch
3ecfa669b7 DATAJDBC-576 - Polishing.
Consistent spelling of license. Tweak exception propagation. Consistently use asciidoc syntax for code blocks.

Original pull request: #239.
2020-07-17 10:02:22 +02:00
Jens Schauder
a0b5ddad8d DATAJDBC-576 - Control test execution with missing licence via profile.
Running all tests with

```
./mvnw clean install -Pall-dbs
```

or similar now requires an appropriate `container-license-acceptance.txt` to be on the classpath.

In order to ignore the tests that require an explicit license acceptance one may add the maven profile `ignore-missing-license` like so

```
./mvnw clean install -Pall-dbs,ignore-missing-license
```

Original pull request: #239.
2020-07-17 09:19:50 +02:00
Jens Schauder
2cf6efbe5c DATAJDBC-574 - Enables and fixes SqlServer tests.
Utilizes Testcontainers reuse feature.

Original pull request: #238.
2020-07-17 09:16:57 +02:00
Mark Paluch
d24ca640f7 DATAJDBC-573 - Polishing.
Remove unused imports, reformat code. Tweak logging.

Original pull request: #237.
2020-07-14 16:49:23 +02:00
Jens Schauder
1bfa629aa3 DATAJDBC-573 - Fixes the wait strategy for Oracle data sources.
Oracle integration tests where failing when the docker container was freshly started,
as it happens every time on CI.

The reason was mainly a misuse of Awaitility.ignoreException(Class) which only ignores exception of exactly the class provided, not of subtypes.

Apart from fixing this for Oracle the complete logic for verifying the connection was moved to DataSourceConfiguration so other database use it as well in a consistent manner.

Original pull request: #237.
2020-07-14 16:49:11 +02:00
Jens Schauder
c6c31dea48 DATAJDBC-569 - Removes unused TestDatabaseFeatures.
Original pull request: #236.
2020-07-14 16:41:26 +02:00
Jens Schauder
0fe4f4f2f9 DATAJDBC-569 - Use JdbcUtils to obtain values from a ResultSet.
Original pull request: #236.
2020-07-14 16:41:17 +02:00
Mark Paluch
08d71817a9 DATAJDBC-572 - Polishing.
Reorder methods in EnableJdbcRepositories to match other stores. Reformat code.

Original pull request: #235.
2020-07-13 16:27:25 +02:00
Jens Schauder
d3f4bce539 DATAJDBC-572 - Enable specification of a repository base class.
Added the field to `EnableJdbcRepository` and respect it's value by instantiating the repository base class reflectively.

Original pull request: #235.
2020-07-13 16:27:16 +02:00
Mark Paluch
b28e4e07c6 DATAJDBC-256 - Polishing.
Rename RequiredFeature to EnabledOnFeature to align with JUnit terminology. Use RunWith instead of Spring rules. Reformat code. Update documentation.

Original pull request: #232.
2020-07-13 14:14:42 +02:00
Jens Schauder
4eb92abd8f DATAJDBC-256 - Run integration tests with Oracle.
An Oracle database is started in Docker using Testcontainers.
Tests that don't work yet are skipped using the TestDatabaseFeatures which allows central control, which database supports which feature.

A suitable oracle image is deployed on DockerHub as  "springci/spring-data-oracle-xe-prebuild:18.4.0".
 The official Oracle docker images as described here https://github.com/oracle/docker-images/blob/master/OracleDatabase/SingleInstance/README.md are not suitable since it needs about 15min to start and also TestContainers seems to break it by trying to us it to early.
 The referenced image was created based on these instructions: https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/samples/prebuiltdb

The following features don't yet work for Oracle:

* Loading of date like properties.
* Ids with custom names.
* Array support.
* Boolean properties.
* BigDecimals and BigInteger is limited to what fits into Oracles NUMBER data type.
* Entities that use a join during load time, i.e. with a one to one relationship.

Original pull request: #232.
2020-07-13 14:11:48 +02:00
tlang
4238f44219 DATAJDBC-256 - First step toward running integration tests with Oracle.
Original pull request: #223, #232.
2020-07-13 14:11:43 +02:00
Jens Schauder
0c5a8c2b61 DATAJDBC-570 - Removes the AS for join table aliases.
The AS is not supported by Oracle and all other databases are fine without it.

Original pull request: #234.
2020-07-07 14:43:41 +02:00
Patrick Lucas
a5abd814b4 DATAJDBC-559 - Support MariaDB in DialectResolver.
Original pull request: #231.
2020-06-25 13:59:27 +02:00
Jens Schauder
6a4c4a1f15 DATAJDBC-559 - Upgrading the MariaDB JDBC driver.
This changes the behavior of the JDBC driver from always returning `MySQL` for product name to a more involved logic which might result in it returning  `MariaDB`.

Original pull request: #231.
2020-06-25 13:59:27 +02:00
Mark Paluch
365f8483b3 DATAJDBC-541 - Prepare next development iteration. 2020-06-25 11:58:19 +02:00
Mark Paluch
6f9b9cbca6 DATAJDBC-541 - Release version 2.1 M1 (2020.0.0). 2020-06-25 11:48:49 +02:00
Mark Paluch
eeeb188117 DATAJDBC-560 - Fix Criteria mapping when composing a group from top-level criteria.
Using Criteria.from(…) with multiple Criteria objects now uses properly AND combination along with group nesting to render a correct criteria. Previously, the INITIAL combinator in groups caused a mapping exception.
2020-06-09 15:31:14 +02:00
Mark Paluch
81aba29fda DATAJDBC-546 - Skip property population if entity can be constructed entirely using a full constructor. 2020-05-28 13:54:30 +02:00
Mark Paluch
24ce2a9ba4 DATAJDBC-547 - Polishing.
Add scripts for DB2 after rebase.

Original pull request: #221.
2020-05-27 13:11:55 +02:00
Jens Schauder
d3e6db2cce DATAJDBC-547 - Fixes lock statement for fully qualified table names in PostgreSQL.
Original pull request: #221.
2020-05-27 10:01:39 +02:00
Jens Schauder
4ee9eb8df5 DATAJDBC-544 - Removes all Lombok from production code. 2020-05-20 15:44:03 +02:00
Jens Schauder
dedaf34614 DATAJDBC-545 - Fix support of setting properties via constructor. 2020-05-19 14:46:39 +02:00
Jens Schauder
8e63084162 DATAJDBC-412 - Polishing.
Added an integration test because you never can tell with databases.
2020-05-15 17:04:33 +02:00
Christoph Strobl
6f2bb59ceb DATAJDBC-412 - Support custom single value types in id.
Custom value types like outlined below can now server as id property

public class IdValue {
	String id;
}

public class DomainType {

	@Id
	IdValue id;
	String value;

	// ...
}
2020-05-15 15:30:41 +02:00