Commit Graph

271 Commits

Author SHA1 Message Date
Bastian Wilhelm
6fcff3ea80 DATAJDBC-331 Introduce @MappedCollection annotation.
We now provide a @MappedCollection annotation as replacement for @Column's keyColumn attribute.

class Person {
  @MappedCollection(idColumn = "the_id", keyColumn = "the_key")
  private List<Integer> mappedList;
}

Original pull request: #117.
2019-02-13 17:17:40 +01:00
Mark Paluch
1c0bd4fdb8 DATAJDBC-317 - Updated changelog. 2019-02-13 11:47:52 +01:00
Jens Schauder
9259cb4edf DATAJDBC-325 - SqlGeneratorSource is now thread safe.
Original pull request: #114.
2019-02-06 15:24:31 +01:00
Jens Schauder
326335c9be DATAJDBC-329 - Polishing.
Applied review feedback.

Original pull request: #116.
2019-02-06 15:15:54 +01:00
Jens Schauder
6bdf430036 DATAJDBC-329 - Replacing JdbcConfiguration.
Reverting breaking changes to JdbcConfiguration.
Deprecating JdbcConfiguration in favor of AbstractJdbcConfiguration.
Cleaning up the API to separate it from spring-data-relational and therefore R2DBC.

Original pull request: #116.
2019-02-06 15:15:36 +01:00
Mark Paluch
3b6f01f83e DATAJDBC-259 - Polishing.
Unwrap multi-dimensional array types to determine the proper component type. Extend tests. Inline isCollectionOf[Entities|SimpleType]Like calls and remove utility methods on RelationalPersistentProperty as the usage-scope is specific to array handling.

Original pull request: #113.
2019-02-06 14:30:16 +01:00
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