diff --git a/pom.xml b/pom.xml
index 6050cb016e..6afdffbbff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-relational-parent
- 3.4.0-SNAPSHOT
+ 3.4.0-1802-set-chain-SNAPSHOT
pom
Spring Data Relational Parent
diff --git a/spring-data-jdbc-distribution/pom.xml b/spring-data-jdbc-distribution/pom.xml
index 4626db4364..1a05ab3fef 100644
--- a/spring-data-jdbc-distribution/pom.xml
+++ b/spring-data-jdbc-distribution/pom.xml
@@ -14,7 +14,7 @@
org.springframework.data
spring-data-relational-parent
- 3.4.0-SNAPSHOT
+ 3.4.0-1802-set-chain-SNAPSHOT
../pom.xml
diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml
index aa44f71832..a05a18f568 100644
--- a/spring-data-jdbc/pom.xml
+++ b/spring-data-jdbc/pom.xml
@@ -6,7 +6,7 @@
4.0.0
spring-data-jdbc
- 3.4.0-SNAPSHOT
+ 3.4.0-1802-set-chain-SNAPSHOT
Spring Data JDBC
Spring Data module for JDBC repositories.
@@ -15,7 +15,7 @@
org.springframework.data
spring-data-relational-parent
- 3.4.0-SNAPSHOT
+ 3.4.0-1802-set-chain-SNAPSHOT
diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/MappingJdbcConverter.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/MappingJdbcConverter.java
index ebb4d58717..56b117f216 100644
--- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/MappingJdbcConverter.java
+++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/MappingJdbcConverter.java
@@ -385,8 +385,10 @@ public T getPropertyValue(RelationalPersistentProperty property) {
if (idDefiningParentPath.hasIdProperty()) {
Class> idType = idDefiningParentPath.getRequiredIdProperty().getActualType();
- SqlIdentifier parentId = idDefiningParentPath.getTableInfo().idColumnName();
- Object idValue = this.identifier.get(parentId);
+ //
+ RelationalPersistentProperty requiredIdProperty = idDefiningParentPath.getRequiredIdProperty();
+ AggregatePath idPath = idDefiningParentPath.append(requiredIdProperty);
+ Object idValue = delegate.getValue(idPath);
Assert.state(idValue != null, "idValue must not be null at this point");
diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/AbstractJdbcAggregateTemplateIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/AbstractJdbcAggregateTemplateIntegrationTests.java
index c7ac9275ab..f2927c16a7 100644
--- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/AbstractJdbcAggregateTemplateIntegrationTests.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/AbstractJdbcAggregateTemplateIntegrationTests.java
@@ -22,19 +22,12 @@
import static org.springframework.data.jdbc.testing.TestDatabaseFeatures.Feature.*;
import java.time.LocalDateTime;
+import java.util.*;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
import java.util.function.Function;
import java.util.stream.IntStream;
+import org.assertj.core.api.SoftAssertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
@@ -919,7 +912,7 @@ void readOnlyGetsLoadedButNotWritten() {
assertThat(
jdbcTemplate.queryForObject("SELECT read_only FROM with_read_only", Collections.emptyMap(), String.class))
- .isEqualTo("from-db");
+ .isEqualTo("from-db");
}
@Test
@@ -1258,7 +1251,8 @@ void recordOfSet() {
@Test // GH-1656
void mapWithEnumKey() {
- EnumMapOwner enumMapOwner = template.save(new EnumMapOwner(null, "OwnerName", Map.of(Color.BLUE, new MapElement("Element"))));
+ EnumMapOwner enumMapOwner = template
+ .save(new EnumMapOwner(null, "OwnerName", Map.of(Color.BLUE, new MapElement("Element"))));
Iterable enumMapOwners = template.findAll(EnumMapOwner.class);
@@ -1266,7 +1260,7 @@ void mapWithEnumKey() {
}
@Test // GH-1684
- void oneToOneWithIdenticalIdColumnName(){
+ void oneToOneWithIdenticalIdColumnName() {
WithOneToOne saved = template.insert(new WithOneToOne("one", new Referenced(23L)));
@@ -1275,6 +1269,37 @@ void oneToOneWithIdenticalIdColumnName(){
assertThat(reloaded).isEqualTo(saved);
}
+ @Test // GH-1802
+ void singleEntitySetChain() {
+
+ First first1 = template.insert( //
+ new First(1L, "first-1", //
+ new Sec(2L, "second-1-2", Set.of( //
+ new Third("third-1-2-0"), //
+ new Third("third-1-2-1"), //
+ new Third("third-1-2-3")) //
+ ) //
+ ) //
+ );
+ First first2 = template.insert( //
+ new First(2L, "first-2", //
+ new Sec(3L, "second-2-3", Set.of( //
+ new Third("third-2-3-0"), //
+ new Third("third-2-3-1"), //
+ new Third("third-2-3-3")) //
+ ) //
+ ) //
+ );
+
+ First first1Reloaded = template.findById(first1.id, First.class);
+ First first2Reloaded = template.findById(first2.id, First.class);
+
+ SoftAssertions.assertSoftly(softly ->{
+ softly.assertThat(first1Reloaded).isEqualTo(first1);
+ softly.assertThat(first2Reloaded).isEqualTo(first2);
+ });
+ }
+
private void saveAndUpdateAggregateWithVersion(VersionedAggregate aggregate,
Function toConcreteNumber) {
saveAndUpdateAggregateWithVersion(aggregate, toConcreteNumber, 0);
@@ -2096,11 +2121,21 @@ record Book(String name) {
record EnumMapOwner(@Id Long id, String name, Map map) {
}
- record WithOneToOne(@Id String id,@MappedCollection(idColumn = "renamed") Referenced referenced){}
+ record WithOneToOne(@Id String id, @MappedCollection(idColumn = "renamed") Referenced referenced) {
+ }
record Referenced(@Id Long id) {
}
+ record First(@Id Long id, String name, Sec sec) {
+ }
+
+ record Sec(@Id Long id, String name, Set thirds) {
+ }
+
+ record Third(String name) {
+ }
+
@Configuration
@Import(TestConfiguration.class)
static class Config {
diff --git a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-db2.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-db2.sql
index 52e70b178e..e93990e31b 100644
--- a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-db2.sql
+++ b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-db2.sql
@@ -55,6 +55,9 @@ DROP TABLE ENUM_MAP_OWNER;
DROP TABLE REFERENCED;
DROP TABLE WITH_ONE_TO_ONE;
+DROP TABLE THIRD;
+DROP TABLE SEC;
+DROP TABLE FIRST;
CREATE TABLE LEGO_SET
(
@@ -444,3 +447,24 @@ CREATE TABLE REFERENCED
"renamed" VARCHAR(100),
ID BIGINT
);
+
+CREATE TABLE FIRST
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ NAME VARCHAR(20) NOT NULL
+);
+
+CREATE TABLE SEC
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ FIRST BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (FIRST) REFERENCES FIRST (ID)
+);
+
+CREATE TABLE THIRD
+(
+ SEC BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (SEC) REFERENCES SEC (ID)
+);
\ No newline at end of file
diff --git a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-h2.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-h2.sql
index 7a87c5df23..24ef5bdeab 100644
--- a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-h2.sql
+++ b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-h2.sql
@@ -5,10 +5,10 @@ CREATE TABLE LEGO_SET
);
CREATE TABLE MANUAL
(
- "id2" SERIAL PRIMARY KEY,
- LEGO_SET BIGINT,
+ "id2" SERIAL PRIMARY KEY,
+ LEGO_SET BIGINT,
"alternative" BIGINT,
- CONTENT VARCHAR(2000)
+ CONTENT VARCHAR(2000)
);
ALTER TABLE MANUAL
@@ -34,17 +34,17 @@ CREATE TABLE LIST_PARENT
CREATE TABLE SIMPLE_LIST_PARENT
(
- ID SERIAL PRIMARY KEY,
- NAME VARCHAR(100)
+ ID SERIAL PRIMARY KEY,
+ NAME VARCHAR(100)
);
CREATE TABLE element_no_id
(
- content VARCHAR(100),
+ content VARCHAR(100),
SIMPLE_LIST_PARENT_key BIGINT,
SIMPLE_LIST_PARENT INTEGER,
- LIST_PARENT_key BIGINT,
- LIST_PARENT INTEGER
+ LIST_PARENT_key BIGINT,
+ LIST_PARENT INTEGER
);
CREATE TABLE "ARRAY_OWNER"
@@ -62,14 +62,14 @@ CREATE TABLE BYTE_ARRAY_OWNER
CREATE TABLE DOUBLE_LIST_OWNER
(
- ID SERIAL PRIMARY KEY,
- DIGITS DOUBLE ARRAY[10]
+ ID SERIAL PRIMARY KEY,
+ DIGITS DOUBLE ARRAY[10]
);
CREATE TABLE FLOAT_LIST_OWNER
(
- ID SERIAL PRIMARY KEY,
- DIGITS FLOAT ARRAY[10]
+ ID SERIAL PRIMARY KEY,
+ DIGITS FLOAT ARRAY[10]
);
CREATE TABLE CHAIN4
@@ -338,36 +338,36 @@ CREATE TABLE WITH_ID_ONLY
CREATE TABLE WITH_INSERT_ONLY
(
- ID SERIAL PRIMARY KEY,
+ ID SERIAL PRIMARY KEY,
INSERT_ONLY VARCHAR(100)
);
CREATE TABLE MULTIPLE_COLLECTIONS
(
- ID SERIAL PRIMARY KEY,
+ ID SERIAL PRIMARY KEY,
NAME VARCHAR(100)
);
CREATE TABLE SET_ELEMENT
(
MULTIPLE_COLLECTIONS BIGINT,
- NAME VARCHAR(100)
+ NAME VARCHAR(100)
);
CREATE TABLE LIST_ELEMENT
(
- MULTIPLE_COLLECTIONS BIGINT,
+ MULTIPLE_COLLECTIONS BIGINT,
MULTIPLE_COLLECTIONS_KEY INT,
- NAME VARCHAR(100)
+ NAME VARCHAR(100)
);
CREATE TABLE MAP_ELEMENT
(
- MULTIPLE_COLLECTIONS BIGINT,
+ MULTIPLE_COLLECTIONS BIGINT,
MULTIPLE_COLLECTIONS_KEY VARCHAR(10),
- ENUM_MAP_OWNER BIGINT,
- ENUM_MAP_OWNER_KEY VARCHAR(10),
- NAME VARCHAR(100)
+ ENUM_MAP_OWNER BIGINT,
+ ENUM_MAP_OWNER_KEY VARCHAR(10),
+ NAME VARCHAR(100)
);
CREATE TABLE AUTHOR
@@ -378,12 +378,12 @@ CREATE TABLE AUTHOR
CREATE TABLE BOOK
(
AUTHOR BIGINT,
- NAME VARCHAR(100)
+ NAME VARCHAR(100)
);
CREATE TABLE ENUM_MAP_OWNER
(
- ID SERIAL PRIMARY KEY,
+ ID SERIAL PRIMARY KEY,
NAME VARCHAR(100)
);
@@ -395,5 +395,26 @@ CREATE TABLE WITH_ONE_TO_ONE
CREATE TABLE REFERENCED
(
"renamed" VARCHAR(100),
- ID BIGINT
+ ID BIGINT
+);
+
+CREATE TABLE FIRST
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ NAME VARCHAR(20) NOT NULL
);
+
+CREATE TABLE SEC
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ FIRST BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (FIRST) REFERENCES FIRST (ID)
+);
+
+CREATE TABLE THIRD
+(
+ SEC BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (SEC) REFERENCES SEC (ID)
+);
\ No newline at end of file
diff --git a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-hsql.sql
index 054f8a171c..21e80a6c98 100644
--- a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-hsql.sql
+++ b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-hsql.sql
@@ -399,3 +399,24 @@ CREATE TABLE REFERENCED
"renamed" VARCHAR(100),
ID BIGINT
);
+
+CREATE TABLE FIRST
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ NAME VARCHAR(20) NOT NULL
+);
+
+CREATE TABLE SEC
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ FIRST BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (FIRST) REFERENCES FIRST (ID)
+);
+
+CREATE TABLE THIRD
+(
+ SEC BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (SEC) REFERENCES SEC (ID)
+);
\ No newline at end of file
diff --git a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mariadb.sql
index 52f57d5472..14636eff40 100644
--- a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mariadb.sql
+++ b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mariadb.sql
@@ -371,3 +371,24 @@ CREATE TABLE REFERENCED
`renamed` VARCHAR(100),
ID BIGINT
);
+
+CREATE TABLE FIRST
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ NAME VARCHAR(20) NOT NULL
+);
+
+CREATE TABLE SEC
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ FIRST BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (FIRST) REFERENCES FIRST (ID)
+);
+
+CREATE TABLE THIRD
+(
+ SEC BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (SEC) REFERENCES SEC (ID)
+);
\ No newline at end of file
diff --git a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mssql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mssql.sql
index c623581f82..d922614f26 100644
--- a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mssql.sql
+++ b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mssql.sql
@@ -417,3 +417,28 @@ CREATE TABLE REFERENCED
"renamed" VARCHAR(100),
ID BIGINT
);
+
+DROP TABLE THIRD;
+DROP TABLE SEC;
+DROP TABLE FIRST;
+
+CREATE TABLE FIRST
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ NAME VARCHAR(20) NOT NULL
+);
+
+CREATE TABLE SEC
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ FIRST BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (FIRST) REFERENCES FIRST (ID)
+);
+
+CREATE TABLE THIRD
+(
+ SEC BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (SEC) REFERENCES SEC (ID)
+);
\ No newline at end of file
diff --git a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mysql.sql
index a2cb9a4eac..3672630b26 100644
--- a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mysql.sql
+++ b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-mysql.sql
@@ -377,3 +377,24 @@ CREATE TABLE REFERENCED
`renamed` VARCHAR(100),
ID BIGINT
);
+
+CREATE TABLE FIRST
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ NAME VARCHAR(20) NOT NULL
+);
+
+CREATE TABLE SEC
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ FIRST BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (FIRST) REFERENCES FIRST (ID)
+);
+
+CREATE TABLE THIRD
+(
+ SEC BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (SEC) REFERENCES SEC (ID)
+);
\ No newline at end of file
diff --git a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-oracle.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-oracle.sql
index 8cc59fdb5e..706e5e46d9 100644
--- a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-oracle.sql
+++ b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-oracle.sql
@@ -45,6 +45,10 @@ DROP TABLE ENUM_MAP_OWNER CASCADE CONSTRAINTS PURGE;
DROP TABLE REFERENCED CASCADE CONSTRAINTS PURGE;
DROP TABLE WITH_ONE_TO_ONE CASCADE CONSTRAINTS PURGE;
+DROP TABLE THIRD CASCADE CONSTRAINTS PURGE;
+DROP TABLE SEC CASCADE CONSTRAINTS PURGE;
+DROP TABLE FIRST CASCADE CONSTRAINTS PURGE;
+
CREATE TABLE LEGO_SET
(
"id1" NUMBER GENERATED by default on null as IDENTITY PRIMARY KEY,
@@ -424,3 +428,23 @@ CREATE TABLE REFERENCED
"renamed" VARCHAR(100),
ID NUMBER
);
+CREATE TABLE FIRST
+(
+ ID NUMBER NOT NULL PRIMARY KEY,
+ NAME VARCHAR(20) NOT NULL
+);
+
+CREATE TABLE SEC
+(
+ ID NUMBER NOT NULL PRIMARY KEY,
+ FIRST NUMBER NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (FIRST) REFERENCES FIRST (ID)
+);
+
+CREATE TABLE THIRD
+(
+ SEC NUMBER NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (SEC) REFERENCES SEC (ID)
+);
\ No newline at end of file
diff --git a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-postgres.sql
index bc7df72a41..36f20896b7 100644
--- a/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-postgres.sql
+++ b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/JdbcAggregateTemplateIntegrationTests-postgres.sql
@@ -48,6 +48,10 @@ DROP TABLE ENUM_MAP_OWNER;
DROP TABLE REFERENCED;
DROP TABLE WITH_ONE_TO_ONE;
+DROP TABLE THIRD;
+DROP TABLE SEC;
+DROP TABLE FIRST;
+
CREATE TABLE LEGO_SET
(
"id1" SERIAL PRIMARY KEY,
@@ -446,3 +450,24 @@ CREATE TABLE REFERENCED
"renamed" VARCHAR(100),
ID BIGINT
);
+
+CREATE TABLE FIRST
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ NAME VARCHAR(20) NOT NULL
+);
+
+CREATE TABLE SEC
+(
+ ID BIGINT NOT NULL PRIMARY KEY,
+ FIRST BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (FIRST) REFERENCES FIRST (ID)
+);
+
+CREATE TABLE THIRD
+(
+ SEC BIGINT NOT NULL,
+ NAME VARCHAR(20) NOT NULL,
+ FOREIGN KEY (SEC) REFERENCES SEC (ID)
+);
\ No newline at end of file
diff --git a/spring-data-r2dbc/pom.xml b/spring-data-r2dbc/pom.xml
index 3168f9d4f6..daef61bee9 100644
--- a/spring-data-r2dbc/pom.xml
+++ b/spring-data-r2dbc/pom.xml
@@ -6,7 +6,7 @@
4.0.0
spring-data-r2dbc
- 3.4.0-SNAPSHOT
+ 3.4.0-1802-set-chain-SNAPSHOT
Spring Data R2DBC
Spring Data module for R2DBC
@@ -15,7 +15,7 @@
org.springframework.data
spring-data-relational-parent
- 3.4.0-SNAPSHOT
+ 3.4.0-1802-set-chain-SNAPSHOT
diff --git a/spring-data-relational/pom.xml b/spring-data-relational/pom.xml
index 3ba39b861c..1bd5336711 100644
--- a/spring-data-relational/pom.xml
+++ b/spring-data-relational/pom.xml
@@ -6,7 +6,7 @@
4.0.0
spring-data-relational
- 3.4.0-SNAPSHOT
+ 3.4.0-1802-set-chain-SNAPSHOT
Spring Data Relational
Spring Data Relational support
@@ -14,7 +14,7 @@
org.springframework.data
spring-data-relational-parent
- 3.4.0-SNAPSHOT
+ 3.4.0-1802-set-chain-SNAPSHOT
diff --git a/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/DefaultAggregatePathUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/DefaultAggregatePathUnitTests.java
index 3b500f6f37..465a946b43 100644
--- a/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/DefaultAggregatePathUnitTests.java
+++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/DefaultAggregatePathUnitTests.java
@@ -467,6 +467,20 @@ void getEffectiveIdColumnName() {
});
}
+ @Test // GH-1802
+ void dingens() {
+
+ assertSoftly(softly -> {
+
+ AggregatePath.TableInfo tableInfo = path("withId.second.third").getTableInfo();
+ AggregatePath idDefiningParentPath = path("withId.second.third").getIdDefiningParentPath();
+ AggregatePath.TableInfo parentTable = idDefiningParentPath.getTableInfo();
+ softly.assertThat(tableInfo.effectiveIdColumnName())
+ .isEqualTo(quoted("WITH_ID"));
+
+ });
+ }
+
@Test // GH-1525
void getLength() {