Commit Graph

23 Commits

Author SHA1 Message Date
Mark Paluch
9873db6fff DATAJDBC-176 - After release cleanups. 2018-04-13 15:08:34 +02:00
Mark Paluch
b01ab05b17 DATAJDBC-176 - Prepare next development iteration. 2018-04-13 15:08:33 +02:00
Mark Paluch
fa5e94655c DATAJDBC-176 - Release version 1.0 M2 (Lovelace). 2018-04-13 14:30:59 +02:00
Mark Paluch
f83602d78e DATAJDBC-176 - Prepare 1.0 M2 (Lovelace). 2018-04-13 14:30:01 +02:00
Chr1st0ph
d4b2eca43a DATAJDBC-196 - Integration-test-support for MariaDB.
Original pull request: #57.
2018-04-11 09:34:12 +02:00
Kazuki Shimizu
ce020a403e DATAJDBC-191 - Upgrade to MyBatis 3.4.6 and MyBatis-Spring 1.3.2.
Original pull request: #55.
2018-03-26 08:46:28 +02:00
Greg Turnquist
4cb50caf79 DATAJDBC-179 - Add project details.
Original pull request: #45.
2018-03-05 11:25:55 +01:00
Tadaya Tsuyukubo
2ace9b8663 DATAJDBC-180 - Upgrade Testcontainers from 1.5.1 to 1.6.0.
Original pull request: #46.
2018-03-05 10:41:14 +01:00
Tadaya Tsuyukubo
7d38a95c60 DATAJDBC-180 - Polishing pom.xml
Fixed wrong name on Testcontainers version.
Aligned formatting to Spring style.

Original pull request: #46.
2018-03-05 10:39:38 +01:00
Christoph Strobl
171353484a DATAJDBC-171 - After release cleanups. 2018-02-06 10:11:17 +01:00
Christoph Strobl
ca2b6c89c8 DATAJDBC-171 - Prepare next development iteration. 2018-02-06 10:11:15 +01:00
Christoph Strobl
39b40f3668 DATAJDBC-171 - Release version 1.0 M1 (Lovelace). 2018-02-06 09:47:10 +01:00
Christoph Strobl
2122899b91 DATAJDBC-171 - Prepare 1.0 M1 (Lovelace). 2018-02-06 09:45:50 +01:00
Jens Schauder
8af7553e1d DATAJDBC-168 - Polishing.
Simplified initialization of MySql database.
Extracted dependency versions into properties.
Added JavaDoc.
2018-02-02 11:34:51 +01:00
sedooe
0fe791f2bc DATAJDBC-168 - Run integration tests with testcontainers.
Added testcontainers as dependency and configured MySql and Postrgres datasources to use it.

Original pull request: #34.
2018-02-02 11:33:58 +01:00
Jens Schauder
207278c891 DATAJDBC-145 - Back-reference in insert now honours NamingStrategy.
Added a property path to DbActions in order to make them aware of the property it is related to.
Then used the JdbcPersistentProperty based on that get the name of the back-reference name of that property back to the root entity of that property.
This gets the NamingStrategy properly involved, as it should.

Instead of using the vanilla PropertyPath a new JdbcPropertyPath is introduced.
It allows for an empty path avoiding various null-checks.

Upgraded SD-Commons dependency to 2.1.x in order to utilise DATACMNS-1199.
Removed the now superfluous PropertyPaths and used PropertyPath methods instead.

Related issues:
DATACMNS-1204
DATACMSN-1199
2017-11-01 10:27:05 -05:00
Mark Paluch
3706826739 DATAJDBC-134 - Added explicit automatic module name for JDK 9. 2017-09-21 14:17:53 +02:00
Jens Schauder
806bb24ff5 DATAJDBC-123 - MyBatis integration on DbAction level.
If MyBatis-spring is available and a SqlSessionFactory in the Application Context we look for matching mapped sql statements instead of using the default generated SQL.

Introduced DataAccessStrategy as a new abstraction level, operating on a single entity. JdbcEntityOperations only contain operations related to complete Aggregates. Thereby also solving DATAJDBC-132.

Integration tests ending in HsqlIntegrationTest will only get executed using HsqlDb.

Related issue: DATAJDBC-132.
2017-09-19 11:13:42 -05:00
Jens Schauder
15fcf171fb DATAJDBC-114 - Adding test to prevent dependency circles.
Added a test that finds dependency circles.

Removed the dependency circles found by that test.
2017-08-07 14:04:38 -05:00
Jens Schauder
1582a4d475 DATAJDBC-105 - Test with multiple databases.
Different databases are now supported by means of Maven Profiles and Spring Profiles. There is one Profile for each supported database. The default Profile is equivalent to hql. There is a Maven Profile all-dbs, which runs the integration tests against all databases.

The databases need to be started outside the build. The build assumes the default configuration as I found it after `brew install <database>`

For now we support the databases mysql, postgres and hsqldb.

In order to make the new databases work setting of properties and reading generated ids was improved to do some simple conversions. This might be considered a first step towards DATAJDBC-104.

The project root contains some basic scripts for starting and stopping databases, as well as running a build against all supported databases. Integration tests using a database now use Rules instead of JUnit runners. This gives more flexibility when adding fancy stuff to the Tests in the form of other Rules.

Related issue: DATAJDBC-104.
Original pull request: #5.
2017-06-19 13:24:52 +02:00
Jens Schauder
94d8960558 DATAJDBC-99 - Polishing.
Events now use the id as source. The id is encapsulated in a value object to support null ids in BeforeInsert events. Entity references in events are now Optionals. Dropped redundant Event suffix from events. Added "@since 2.0" to classes. Replaced constructors and getters with Lombok annotations. Simplified pom.xml. Extracted interface JdbcPersistentEntity and JdbcPersistentProperty. Integration tests use the Spring Test framework. Fixed test for entities with primitive id type.

Original pull request: #5.
2017-06-19 13:24:26 +02:00
Jens Schauder
2181d8d3c6 DATAJDBC-97 - Basic implementation of all CRUD methods.
Original pull request: #5.
2017-06-19 13:23:03 +02:00
Jens Schauder
7696f5a1de Initial setup of infrastructure.
Created a maven project based on Spring Data JPA. Created JdbcRepositoryFactory, which actually creates Repositories. Wired the construction of meta data. Implemented a dummy version of saving an entity to demonstrate availability of meta data. Included a simple test for exercising the JdbcRepositoryFactory and the resulting JdbcRepository.

Related pull request: #5.
2017-06-19 13:20:10 +02:00