#90 - Emit inserted object through SimpleR2dbcRepository.save(…) with given Id.

SimpleR2dbcRepository.save(…) now falls back to the saved object as emitted result if the INSERT statement does not return generated keys.

Adding H2 database engine for tests to simulate such behavior.

Original pull request: #90.
This commit is contained in:
Mark Paluch
2019-04-15 14:26:02 +02:00
committed by Jens Schauder
parent 30fb4d57b9
commit 652facb14a
4 changed files with 180 additions and 4 deletions

View File

@@ -75,7 +75,8 @@ public class SimpleR2dbcRepository<T, ID> implements ReactiveCrudRepository<T, I
.into(entity.getJavaType()) //
.using(objectToSave) //
.map(converter.populateIdIfNecessary(objectToSave)) //
.one();
.first() //
.defaultIfEmpty(objectToSave);
}
Object id = entity.getRequiredId(objectToSave);