3.0.0-M2
Pre-release
Pre-release
π Links
β New Features
- Adopt to Spring R2DBC changes #1198
- Fix 'negated like' and 'negated between' for toString method #1193
- Batch insert operations within a single aggregate. #1159
- Create support for QueryLookupStrategy in
@EnableJdbcRepositories
#1043 - API for pessimistic locks (
SELECT β¦ FOR UPDATE
) #1041 - Support for Sort.NullHandling [DATAJDBC-599] #821
- Add LockClause for Dialect [DATAJDBC-498] #722
- AbstractJdbcConfiguration should use JdbcMappingContext instead of RelationalMappingContext [DATAJDBC-492] #717
- Support condition nesting [DATAJDBC-490] #715
- Support for
@Id
less entities [DATAJDBC-470] #698 - Supporting SQL Function around inserting value [DATAJDBC-468] #694
- BasicJdbcConverter supports Constructor Instantiate for classes with the
@Transient
property. [DATAJDBC-465] #689 - Add columnAlias for RelationalPersistentProperty [DATAJDBC-444] #664
- Add database dependent simple types [DATAJDBC-443] #663
- Indent MyBatis integration sections in the documentation [DATAJDBC-441] #661
- Saving a record with an id that doesn't exist should return an error/warning to caller [DATAJDBC-438] #658
- Replaces the deprecated
@Wither
with the new@With
[DATAJDBC-436] #656 - Make row mappers to be a spring bean [DATAJDBC-430] #651
- Use proper https links for mybatis DTDs [DATAJDBC-413] #634
- Introduce IdentifierContext [DATAJDBC-389] #612
- Improve backward compatibility for MybatisDataAccessStrategy [DATAJDBC-384] #607
- Make behavior for empty embeddables configurable [DATAJDBC-374] #599
- Integration Mybatis with spring-data-jdbc,make mybatis can mixed with spring-data-jdbc in ONE repository [DATAJDBC-373] #598
- Fix typos in readme [DATAJDBC-365] #589
- Make SimpleJdbcRepository transactional [DATAJDBC-398] #585
- Fix minor typos in SqlGenerator. [DATAJDBC-361] #584
- Chains of entities without id should work and reference the topmost entity [DATAJDBC-359] #581
- Introduce dialect support to render paginated queries. [DATAJDBC-357] #579
- Make handling of ID generation work with Oracle [DATAJDBC-350] #572
- Interface for dirty-checking performed by the user to optimize SQL-Statements [DATAJDBC-345] #563
- Map NULL values in EntityRowMapper for columns not being fetched in the query [DATAJDBC-341] #562
- Move URLs to https [DATAJDBC-336] #557
- Do not automatically download licensed docker images or similar when executing tests [DATAJDBC-320] #543
- Support dynamic SQL provider [DATAJDBC-319] #542
- Derived Queries [DATAJDBC-318] #541
- Simplify reference documentation setup [DATAJDBC-306] #530
- Remove deprecated classes and methods stemming from DATAJDBC-290 [DATAJDBC-302] #526
- Fix Travis build failing due to moved JDK8 [DATAJDBC-301] #525
- More clear error message when
select
entities with Builder but no default constructors [DATAJDBC-298] #523 - PersistentEntity not created when top-level converter [DATAJDBC-295] #520
@EnableJdbcRepositories
support multi jdbcTemplate [DATAJDBC-293] #518- Support ResultSetExtractor as an alternative to RowMapper [DATAJDBC-290] #515
- Support for
@Transient
or transient [DATAJDBC-289] #514 - Add description for
@Table
and@Column
to the reference documentation [DATAJDBC-285] #510 - Json support? [DATAJDBC-284] #509
- Add support for upserts [DATAJDBC-281] #506
- The Travis build is broken due to a broken JDK download [DATAJDBC-280] #505
- Create vendor specific database dialect to handle ID creation specifics of MS-SQL Server [DATAJDBC-278] #503
- Add support for multipart ids [DATAJDBC-270] #494
- Implement 'INSERT or UPDATE' / 'upsert' functionality [DATAJDBC-269] #493
- Run tests with multiple versions of MyBatis and MyBatis Spring to ensure compatibility [DATAJDBC-323] #488
- Id gets updated [DATAJDBC-262] #485
- Fehler in der Dokumentation [DATAJDBC-260] #483
- Run integration tests with Microsoft SQL Server [DATAJDBC-258] #481
- Support for Oracle sequence [DATAJDBC-299] #479
- Add proper support for immutable entities in events [DATAJDBC-240] #465
- Introduce CustomConversions [DATAJDBC-235] #461
- Refactorings and API improvements in preparation for DATAJDBC-224 [DATAJDBC-227] #453
- Allow query annotation which contains only the where part [DATAJDBC-225] #451
- Only delete those referenced entities that are no longer present in an aggregate. [DATAJDBC-224] #450
- Introduce a Reference type for cross aggregate references [DATAJDBC-221] #447
- Add support for key column in
@Column
annotation [DATAJDBC-218] #444 - Update TestContainers version to one not requiring commons-lang as separate dependency [DATAJDBC-214] #440
- Make Snake Case the default NamingStrategy. [DATAJDBC-207] #434
- Support for Optional properties [DATAJDBC-205] #432
- Support the annotation based auditing [DATAJDBC-204] #431
- Do some polishing on the readme [DATAJDBC-194] #425
- Fix some wrong/weird usage of AssertJ [DATAJDBC-190] #421
- Make the DefaultNamingStrategy into default methods of the NamingStrategy [DATAJDBC-189] #420
- Make DefaultDataAccessStrategy and EntityRowMapper more lenient [DATAJDBC-186] #418
- Update to latest Testcontainers version [DATAJDBC-180] #413
- Allow generating any namespace in MyBatisDataAccessStrategy [DATAJDBC-178] #411
- Supports simple types as return type for annotated methods [DATAJDBC-175] #409
- Support Streams, Entities, Collections and Optionals as return type for annotated methods. [DATAJDBC-172] #407
- Allow configuration of RowMapper by Type [DATAJDBC-166] #401
- Fix
@since
JavaDoc comments [DATAJDBC-199] #392 - create SQL with a uniform style [DATAJDBC-195] #390
- Add section in readme about current mappings. [DATAJDBC-156] #387
- Include some basic getting started documentation in the readme [DATAJDBC-154] #385
- Allow customization of SQL statements when no DbActions can get created for an aggregate [DATAJDBC-152] #384
- Move the assembly from JdbcRepositoryFactoryBean to the JdbcRepositoryFactory [DATAJDBC-140] #373
- Improve package structure [DATAJDBC-138] #369
- Code Clean Up [DATAJDBC-137] #368
- Support Maps [DATAJDBC-131] #363
- Allow passing of entities in constructor [DATAJDBC-127] #359
- support multiple entity references of same type [DATAJDBC-125] #357
- Add Logging [DATAJDBC-121] #354
- Add SQL annotations like in JDBI [DATAJDBC-116] #350
- Support sets [DATAJDBC-113] #347
- Support for naming columns using
@Column
annotation [DATAJDBC-106] #341 - Namespaces /
@EnableJdbcRepositories
[DATAJDBC-100] #335 - Basic implementation of all CRUD methods [DATAJDBC-97] #333
- Autogeneration of IDs [DATAJDBC-96] #332
- Simple Roundtrip [DATAJDBC-95] #331
- Add support for AbstractSQLQuery#listResults support [DATAJDBC-75] #321
- Connection preparer is not working (over) the Proxy connection [DATAJDBC-74] #320
- Update Spring version to a still supported version [DATAJDBC-70] #318
- Support for Oracle AQ "J2EECompliance" mode [DATAJDBC-59] #311
- Spring-JDBC-ROMA 2.0 - Byte Code Generation Based ORM Like Row Mapper Framework [DATAJDBC-58] #310
- Add support for 3.x version of querydsl [DATAJDBC-51] #305
- Spring JDBC ORM Like RowMapper [DATAJDBC-46] #302
- JDBCTEMPLATE performs non padded comparison for CHAR sql Type. [DATAJDBC-44] #300
- MyBatis integration on action level [DATAJDBC-123] #294
- Add exception translation from QueryException for QueryDslJdbcTemplate [DATAJDBC-32] #290
- How to connect to my sql [DATAJDBC-30] #289
- Introduce a NamingStrategy [DATAJDBC-107] #286
- SqlInsertWithKeyCallback.doInSqlInsertWithKeyClause(...) should allow SQL Exceptions to be thrown [DATAJDBC-25] #284
- JPA Annotations and Spring Data for JDBCTemplate [DATAJDBC-24] #283
- Update of entities [DATAJDBC-98] #282
- Proxy OracleConnection.createStatement method to set Transaction timeout [DATAJDBC-23] #281
- Add repositories support based on Querydsl [DATAJDBC-20] #278
- Provide OSGi Manifest [DATAJDBC-17] #274
- DATAJDBC-551 - Supports derived delete. #230
π Bug Fixes
- Potential bug in Spring data; mapping null to wrapper class throws exception #1167
- NullPointerException appears in PersistentPropertyPathExtension#equals #1164
- Fix a typo in the docs for query methods #1163
@Query
with select * on aggregate with sub entities throws [DATAJDBC-494] #719- Quoting all database identifiers breaks queries to tables in custom schema [DATAJDBC-491] #716
- Travis Build is broken for branch 1.0.x [DATAJDBC-485] #711
- Date related tests in JdbcRepositoryIntegrationTests fail with Java 11 [DATAJDBC-484] #710
- Join in DefaultSelectBuilder not working [DATAJDBC-475] #702
repository.save()
returns duplicate child-elements (at least w/ postgresql) [DATAJDBC-456] #680- CONTRIBUTING.adoc is missing [DATAJDBC-434] #654
- Look up RelationalMappingContext in JdbcRepositoryFactoryBean.afterPropertiesSet() instead of
@Autowired
[DATAJDBC-425] #646 - Saving an aggregate with null embeddable referencing an entity fails [DATAJDBC-417] #638
- NOT IN doesn't get redered correctly [DATAJDBC-410] #631
- Enable converting enums to integer (built-in or custom converter) [DATAJDBC-408] #629
- Escaping case-sensitive columns [DATAJDBC-407] #628
- the genereated AS in table alias not supported in Oracle [DATAJDBC-394] #616
- Can't set attribute of embeddable with only a constructor for arguments [DATAJDBC-370] #594
- JdbcCustomConversions not applied to primary key on lookup [DATAJDBC-349] #571
- One to many relashionship in aggregated child gets mapped incorrectly when retrieving it from database with spring-data-jdbc [DATAJDBC-348] #570
- DataRetrievalFailureException when saving aggregate root using MS SqlServer [DATAJDBC-344] #568
- INSERT and UPDATE statement assignments contain table prefix [DATAJDBC-343] #566
- HSQLDB integration tests fail when the MSSQL database is used [DATAJDBC-346] #564
- JdbcRepositoryConfigExtension looks up beans before they get registered [DATAJDBC-330] #552
- ID of one-to-many relationship not properly converted [DATAJDBC-326] #548
- ID in where clauses doesn't properly considers the NamingStrategy [DATAJDBC-294] #519
- Mapping OneToOne relationship broken for immutable entities & PostgreSQL [DATAJDBC-286] #511
- Creating entity via constructor assumes child properties are nested entities [DATAJDBC-273] #498
- Referenced entity in one to one relationship requires an id, which it shouldn't [DATAJDBC-266] #490
- SqlGenerator.createInsertSql creates wrong SQL for empty column list [DATAJDBC-264] #487
- Entity instantiation via constructor doesn't seem to work [DATAJDBC-252] #475
- Using
@EnableJdbcRepositories
and extending JdbcConfiguration causes duplicate bean registrations [DATAJDBC-243] #467 - JdbcRepositoryFactory.getEntityInformation must not return null [DATAJDBC-238] #463
@Query
doesn't work with Spring Boot 2 [DATAJDBC-228] #454- Cannot set createdDate and createdAt on primitive
@Id
[DATAJDBC-216] #442 - Namingstrategy gets applied inconsistent for writes and selects [DATAJDBC-192] #423
- JdbcEntityWriter tries to navigate into HashMap$Node.next [DATAJDBC-183] #416
- NamingStrategy not used when retrieving from the database [DATAJDBC-181] #414
- Link from main site leads to 404 error [DATAJDBC-167] #402
- Cannot share the SqlSession instance into same transaction [DATAJDBC-161] #395
- AfterCreation doesn't get triggered. EventPublishingRowMapper is not used. [DATAJDBC-197] #391
- JdbcRepositoryFactoryBean must be restructured to support other Spring modules [DATAJDBC-151] #383
- NamingStrategy causes failure when saving entities [DATAJDBC-144] #377
- wrong use of columnName in JdbcMappingContext [DATAJDBC-142] #375
- Fails when MyBatis is not in the classpath [DATAJDBC-136] #367
- Adapt to API changes in Commons (moving away from Optional) [DATAJDBC-115] #349
- JdbcTemplate exceeds maximum cursors during update in single transaction [DATAJDBC-92] #330
- JdbcRetryException on Propagation.REQUIRED [DATAJDBC-86] #329
- Update Querydsl to latest version 3.6.9 [DATAJDBC-85] #328
- Spring Data JDBC Extensions - function call with Oracle type [DATAJDBC-49] #303
- Missing system property placeholder resolving in orcl:pooling-data-source [DATAJDBC-45] #301
- AdtMessageListenerContainer doesn't support durable named consumer. [DATAJDBC-42] #298
- QueryDslJdbcTemplate#queryForObject(SQLQuery, ExpressionBase) should accept Expression as 2nd param [DATAJDBC-34] #291
- DefaultMessageListenerContainer with AqJmsFactoryBeanFactory ends up calling commit twice [DATAJDBC-94] #280
- SimpleJdbcInsert.executeAndReturnKey can not cast [java.lang.String] to [java.lang.Number] [DATAJDBC-19] #277
- Accessing Timestamp field from SQLite db using JdbcTemplate [DATAJDBC-3] #260
π Documentation
- Document the usage of JdbcConfiguration [DATAJDBC-287] #512
- Include documentation about Object Mapping Fundamentals [DATAJDBC-265] #489
π¨ Dependency Upgrades
- Upgrade to R2DBC Borca-SR1 #1197
β€οΈ Contributors
We'd like to thank all the contributors who worked on this release!
- @detinho
- @benelog
- @milanov
- @tkvangorder
- @Chr1st0ph
- @raphiz
- @mhyeon-lee
- @kazuki43zoo
- @Mengzuozhu
- @Buzzardo
- @bahrmichael
- @myatmin
- @THD-Thomas-Lang
- @thombergs
- @DiegoKrupitza
- @asauray
- @mcisnerosb57
- @lseeker
- @janmax
- @umuterturk
- @crandeng
- @making
- @schlagi123
- @taeyeon-Kim
- @benzen
- @florianluediger
- @spring-operator
- @uaihebert
- @andygarfield
- @Pazus
- @michalfotyga