From 054c32c7f4c13641b7e1858dce41ce395ec7eb89 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Thu, 15 Nov 2018 10:31:53 +0100 Subject: [PATCH] DATAJDBC-294 - Fixed handling of Id names in WHERE-clauses. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RelationalPersistentEntityImpl.getIdColumn wasn’t respecting @Column annotations. --- .../RelationalPersistentEntityImpl.java | 2 +- .../AggregateTemplateIntegrationTests.java | 5 +++-- .../data/jdbc/core/SqlGeneratorUnitTests.java | 18 +++++++++++------- ...elationalPersistentEntityImplUnitTests.java | 13 ++++++++++++- .../AggregateTemplateIntegrationTests-hsql.sql | 6 +++--- ...gregateTemplateIntegrationTests-mariadb.sql | 6 +++--- ...AggregateTemplateIntegrationTests-mysql.sql | 6 +++--- ...regateTemplateIntegrationTests-postgres.sql | 6 +++--- 8 files changed, 39 insertions(+), 23 deletions(-) diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java b/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java index 464a87e8..6b916a11 100644 --- a/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java +++ b/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java @@ -62,7 +62,7 @@ class RelationalPersistentEntityImpl extends BasicPersistentEntity entity = mappingContext.getPersistentEntity(DummySubEntity.class); + + assertThat(entity.getIdColumn()).isEqualTo("renamedId"); + } + @Table("dummy_sub_entity") - static class DummySubEntity {} + static class DummySubEntity { + @Id @Column("renamedId") Long id; + } } diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql b/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql index 20a0a290..caf9b04d 100644 --- a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql +++ b/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql @@ -1,5 +1,5 @@ -CREATE TABLE LEGO_SET ( id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY, NAME VARCHAR(30)); -CREATE TABLE MANUAL ( id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY, LEGO_SET BIGINT, CONTENT VARCHAR(2000)); +CREATE TABLE LEGO_SET ( id1 BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY, NAME VARCHAR(30)); +CREATE TABLE MANUAL ( id2 BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY, LEGO_SET BIGINT, CONTENT VARCHAR(2000)); ALTER TABLE MANUAL ADD FOREIGN KEY (LEGO_SET) -REFERENCES LEGO_SET(id); +REFERENCES LEGO_SET(id1); diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql b/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql index 0ac78e63..5031213a 100644 --- a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql +++ b/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql @@ -1,5 +1,5 @@ -CREATE TABLE LEGO_SET ( id BIGINT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(30)); -CREATE TABLE MANUAL ( id BIGINT AUTO_INCREMENT PRIMARY KEY, LEGO_SET BIGINT, CONTENT VARCHAR(2000)); +CREATE TABLE LEGO_SET ( id1 BIGINT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(30)); +CREATE TABLE MANUAL ( id2 BIGINT AUTO_INCREMENT PRIMARY KEY, LEGO_SET BIGINT, CONTENT VARCHAR(2000)); ALTER TABLE MANUAL ADD FOREIGN KEY (LEGO_SET) -REFERENCES LEGO_SET(id); +REFERENCES LEGO_SET(id1); diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql b/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql index 0ac78e63..5031213a 100644 --- a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql +++ b/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql @@ -1,5 +1,5 @@ -CREATE TABLE LEGO_SET ( id BIGINT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(30)); -CREATE TABLE MANUAL ( id BIGINT AUTO_INCREMENT PRIMARY KEY, LEGO_SET BIGINT, CONTENT VARCHAR(2000)); +CREATE TABLE LEGO_SET ( id1 BIGINT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(30)); +CREATE TABLE MANUAL ( id2 BIGINT AUTO_INCREMENT PRIMARY KEY, LEGO_SET BIGINT, CONTENT VARCHAR(2000)); ALTER TABLE MANUAL ADD FOREIGN KEY (LEGO_SET) -REFERENCES LEGO_SET(id); +REFERENCES LEGO_SET(id1); diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql b/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql index e36e5607..dd87536a 100644 --- a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql +++ b/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql @@ -1,8 +1,8 @@ DROP TABLE MANUAL; DROP TABLE LEGO_SET; -CREATE TABLE LEGO_SET ( id SERIAL PRIMARY KEY, NAME VARCHAR(30)); -CREATE TABLE MANUAL ( id SERIAL PRIMARY KEY, LEGO_SET BIGINT, CONTENT VARCHAR(2000)); +CREATE TABLE LEGO_SET ( id1 SERIAL PRIMARY KEY, NAME VARCHAR(30)); +CREATE TABLE MANUAL ( id2 SERIAL PRIMARY KEY, LEGO_SET BIGINT, CONTENT VARCHAR(2000)); ALTER TABLE MANUAL ADD FOREIGN KEY (LEGO_SET) -REFERENCES LEGO_SET(id); +REFERENCES LEGO_SET(id1);