Commit Graph

265 Commits

Author SHA1 Message Date
Jens Schauder
83ca6b4739 DATAJDBC-259 - Reading and writing to SQL array types.
Currently works for HsqlDb and Postgres, since the others do not support an array column type.

Original pull request: #113.
2019-02-06 14:30:10 +01:00
Mark Paluch
75ea44536f DATAJDBC-330 - Polishing.
Replace lambdas with method references. Remove extraneous overrides. Inline methods. Formatting.

Original pull request: #115.
2019-02-06 11:47:56 +01:00
Jens Schauder
341700e02d DATAJDBC-330 - Move default bean lookup from JdbcRepositoryConfigExtension to JdbcRepositoryFactoryBean.
So far the lookup of `NamedParameterJdbcOperations` and `DataAccessStrategy` could happend before these beans were registered resulting in failure to consider those beans.

The logic is now split in two parts:
If a bean name is given, this is configured on the BeanDefinition level in the JdbcRepositoryConfigExtension.
If no name is give a bean is looked up by type in the JdbcRepositoryFactoryBean.

This makes the code even simpler and uses standard Spring features instead of reimplementing them.

Original pull request: #115.
2019-02-06 11:47:39 +01:00
Jens Schauder
80e88e081b DATAJDBC-324 - Polishing.
Fixed line breaks.
Fixed Typos.
2019-02-04 14:48:21 +01:00
Oleksandr Kucher
709d6ef4d5 DATAJDBC-324 - Add support of read-only columns.
Columns annotated with `ReadOnlyProperty` will be ignored when generating INSERT or UPDATE statements.

Original pull request: #112.
2019-02-04 14:46:49 +01:00
Jens Schauder
8a2382f727 DATAJDBC-282 - Add JdbcAggregateOperations as a bean to the JdbcConfiguration. 2019-01-24 15:29:26 +01:00
Jens Schauder
13cc4f6dd6 DATAJDBC-111 - Polishing.
Formatting.
Removed some redundant tests.
Some code simplifications.

Original pull request: #110.
2019-01-24 15:24:51 +01:00
Schlagi123
7a26385b5a DATAJDBC-111 - Add support for embeddables.
By annotating a reference with `Embedded` that reference will get stored in the same table as the owning entity.

Original pull request: #110.
2019-01-24 15:24:51 +01:00
Kazuki Shimizu
9b856876fe DATAJDBC-322 - Upgrade MyBatis dependencies
MyBatis 3.5.0
mybatis-spring 2.0.0

Original pull request: #111.
2019-01-24 15:24:51 +01:00
Jens Schauder
7204eaf0b3 DATAJDBC-320 - Removed container-license-acceptance.txt.
This file accepted the license condition of Microsoft for there Docker image when running tests.
Very likely without the person using this knowing that she is accepting a license.
The file now has to be explicitly provided.

The Travis CI build adds the container-license-acceptance.txt for the build only.
2019-01-24 15:24:51 +01:00
Jens Schauder
bddb613c57 DATAJDBC-296 - Polishing.
Moved test into existing class.

Original pull request: #109.
2019-01-17 08:52:41 +01:00
Bastian Wilhelm
807688e63c DATAJDBC-296 - The value of the @Table annotation is now optional.
The default ("") is equivalent to no annotation at all, i.e. the `NamingStrategy` determines the table name.

Original pull request: #109.
2019-01-17 08:46:52 +01:00
Jens Schauder
0d23603efc DATAJDBC-285 - Polishing.
Original pull request: #108.
2019-01-16 16:33:23 +01:00
Bastian Wilhelm
4bff3f22b0 DATAJDBC-285 - Document usage of @Table and @Column.
Original pull request: #108.
2019-01-16 16:33:23 +01:00
Jens Schauder
6f599b7d51 DATAJDBC-282 - Polishing.
Renamed test to match the class under test.
2019-01-15 09:28:16 +01:00
Jens Schauder
d5558d9def DATAJDBC-282 - Removed JdbcRepository.
The decision was made not to offer `insert` and `update` as part of the repository interface.

It stays available as part of the `JdbcAggregateTemplate` which may be used directly or inside of a custom method implementation.
2019-01-15 09:27:46 +01:00
Jens Schauder
ff8a71fe62 DATAJDBC-282 - Polishing.
Formatting.
Removed AbstractRelationalEntityWriter.
Fixed integration test for MS-SQL.
Extracted some common test infrastructure.

Original pull request: #107.
2019-01-11 12:03:30 +01:00
Thomas Lang
d049988028 DATAJDBC-282 - Add insert and update methods to JdbcRepository.
This introduces the JdbcRepository interface which offers two additional methods beyond the CrudRepository:
`insert` and `update`.
Both methods skip the test if the aggregate is new and perform the respective operation.

Especially `insert` is useful for saving new aggregates which are new but have an ID set by the client and not generated by the database.

Original pull request: #107.
2019-01-11 12:03:30 +01:00
Mark Paluch
e5be123d9d DATAJDBC-297 - Updated changelog. 2019-01-10 14:15:38 +01:00
Jens Schauder
44e164fda4 DATAJDBC-287 - Polishing.
Moved the converter into it's own enum demonstrating good practices.
Added `@ReadingConverter`.

Original pull request: #106.
2019-01-09 08:45:32 +01:00
Evgeni Dimitrov
29688c9729 DATAJDBC-287 - Document registration of custom converters.
Original pull request: #106.
2019-01-09 08:45:32 +01:00
Mark Paluch
4d0ada1e3f DATAJDBC-313 - Update copyright years to 2019. 2019-01-02 13:55:30 +01:00
Jens Schauder
dc9b594dd0 DATAJDBC-303 - Made test stable against rounding errors. 2018-12-17 14:08:18 +01:00
Jens Schauder
b7da4f412f DATAJDBC-293 - Polishing.
Removed most usage of the Stream API.
Improved error messages.
Added tests.
Code formatting.

Original pull request: #102.
2018-12-17 10:09:57 +01:00
Jens Schauder
3061b41012 DATAJDBC-293 @EnableJdbcRepositories supports multiple JdbcTemplates.
Original pull request: #102.
2018-12-17 06:24:43 +01:00
Jens Schauder
df8bedd033 DATAJDBC-290 - Applied review feedback.
Added "since" information fro new and deprecated classes.

Original pull request: #104.
2018-12-14 12:49:00 +01:00
Jens Schauder
3b394e22d4 DATAJDBC-290 - Applied review feedback.
If both RowMapper and ResultSetExtractor are configured on a method and the ResultSetExtractor has a public constructor accepting a RowMapper, the two get combined.

Original pull request: #104.
2018-12-14 12:48:40 +01:00
Jens Schauder
b32135fdd7 DATAJDBC-290 - Reestablish compatibility.
Recreated RowMapperMap, its implementation and related methods in order to not to break existing implementations.
Everything deprecated so we can remove it from 1.2 on.

Original pull request: #101.
See also: https://jira.spring.io/browse/DATAJDBC-302
2018-12-14 12:48:06 +01:00
Jens Schauder
3769db7a27 DATAJDBC-290 - Polishing.
Naming, formatting, and code structure improved.

Original pull request: #101.
2018-12-14 12:47:56 +01:00
Evgeni Dimitrov
4e7a109393 DATAJDBC-290 - Allow specification of resultsetExtractorClass.
A @Query annotation may now specify a class implementing ResultSetExtractor to be useed for extracting objects from ResultSets.

Original pull request: #101.
2018-12-14 12:47:38 +01:00
Mark Paluch
f032e6cf46 DATAJDBC-307 - Add distribution module for Spring Data JDBC.
Add distribution module to create and distribute documentation artifacts.

Original pull request: #105.
2018-12-11 15:57:37 +01:00
Christoph Strobl
5c2a2f16d1 DATAJDBC-305 - After release cleanups. 2018-12-11 11:07:53 +01:00
Christoph Strobl
d28285bee4 DATAJDBC-305 - Prepare next development iteration. 2018-12-11 11:07:52 +01:00
Christoph Strobl
6a54a9ca48 DATAJDBC-305 - Release version 1.1 M1 (Moore). 2018-12-11 10:53:53 +01:00
Christoph Strobl
16367dd7a5 DATAJDBC-305 - Prepare 1.1 M1 (Moore). 2018-12-11 10:53:11 +01:00
Christoph Strobl
47dc7e1124 DATAJDBC-305 - Updated changelog. 2018-12-11 10:53:10 +01:00
Mark Paluch
161d77b375 DATAJDBC-306 - Simplify reference documentation setup. 2018-12-10 10:12:35 +01:00
Jens Schauder
fb3210c639 DATAJDBC-301 - Removed the apt based JDK installation.
The script failed since Oracle moved the JDK8 files, but Travis JDK-switcher works just fine.
2018-12-04 09:30:55 +01:00
Mark Paluch
705ed1216a DATAJDBC-283 - Updated changelog. 2018-11-27 14:54:10 +01:00
Jens Schauder
65d4b38428 DATAJDBC-294 - Fixed handling of Id names in WHERE- clauses.
RelationalPersistentEntityImpl.getIdColumn wasn’t respecting @Column annotations.
2018-11-15 13:21:31 +01:00
Greg Turnquist
ac353da2a4 DATAJDBC-288 - Make JdbcConfiguration methods public.
This allows direct calling of the methods for functional configurations.

Original pull request: #100.
2018-11-03 07:52:09 +01:00
Maciej Walkowiak
2c0a5b7e2e DATAJDBC-286 - Fixes one-to-one relationships for immutable entities.
Original pull request: #99.
2018-11-02 10:44:24 +01:00
Jens Schauder
7e0cafebf2 DATAJDBC-258 - Polishing.
Added mssql to the readme as available database for tests.

Original pull request: #98.
2018-11-01 09:29:05 +01:00
Jens Schauder
1b5854e5ab DATAJDBC-258 - Polishing.
Simplified id value retrieval.
Simplified ignoring tests for a specific database.
Fixed property name in pom.xml.

Original pull request: #98.
2018-11-01 09:24:13 +01:00
tlang
4f6ecf5d48 DATAJDBC-258 - Integration test support for MS SQL Server added.
This adds MS-SQL-Server via Testcontainers to the set of databases available for integration testing.
For this purpose it accepts the EULA of MS SQL Server.

Failing tests are ignored to be fixed in separate issues.

Original pull request: #98.
2018-11-01 09:24:13 +01:00
Jens Schauder
c47cd0878d DATAJDBC-276 - Id are no longer required for elements of Lists. 2018-10-29 09:56:01 -05:00
Jens Schauder
9fb5aadd89 DATAJDBC-273 - Added support for collections and similar in constructors of entities.
Instance creation now uses the same code for materializing property values as the part setting properties.
2018-10-29 09:52:36 -05:00
Mark Paluch
73da720258 DATAJDBC-277 - Updated changelog. 2018-10-29 14:30:36 +01:00
Jens Schauder
6569e8fed3 DATAJDBC-280 - Configure JDK download to use OpenJDK.
We also no longer accept failures with JDK11.
2018-10-22 09:44:28 +02:00
Mark Paluch
7c56af6632 DATAJDBC-272 - Polishing.
Add missing relational.repository package that got lost during module split.
2018-10-17 14:43:05 +02:00