Browse Source

DATAJDBC-334 - Polishing.

Original pull request: #120.
pull/126/head
Jens Schauder 7 years ago
parent
commit
d97b0002fd
  1. 9
      src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java
  2. 21
      src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java

9
src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java

@ -282,8 +282,13 @@ class SqlGenerator {
.map(n -> String.format("%s = :%s", n, columnNameToParameterName(n))) // .map(n -> String.format("%s = :%s", n, columnNameToParameterName(n))) //
.collect(Collectors.joining(", ")); .collect(Collectors.joining(", "));
return String.format(updateTemplate, entity.getTableName(), setClause, entity.getIdColumn(), return String.format( //
columnNameToParameterName(entity.getIdColumn())); updateTemplate, //
entity.getTableName(), //
setClause, //
entity.getIdColumn(), //
columnNameToParameterName(entity.getIdColumn()) //
);
} }
private String createDeleteSql() { private String createDeleteSql() {

21
src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java

@ -82,7 +82,7 @@ public class SqlGeneratorUnitTests {
@Test // DATAJDBC-112 @Test // DATAJDBC-112
public void cascadingDeleteFirstLevel() { public void cascadingDeleteFirstLevel() {
String sql = sqlGenerator.createDeleteByPath(getPath("ref", DummyEntity.class)); String sql = sqlGenerator.createDeleteByPath(getPath("ref"));
assertThat(sql).isEqualTo("DELETE FROM referenced_entity WHERE dummy_entity = :rootId"); assertThat(sql).isEqualTo("DELETE FROM referenced_entity WHERE dummy_entity = :rootId");
} }
@ -90,7 +90,7 @@ public class SqlGeneratorUnitTests {
@Test // DATAJDBC-112 @Test // DATAJDBC-112
public void cascadingDeleteAllSecondLevel() { public void cascadingDeleteAllSecondLevel() {
String sql = sqlGenerator.createDeleteByPath(getPath("ref.further", DummyEntity.class)); String sql = sqlGenerator.createDeleteByPath(getPath("ref.further"));
assertThat(sql).isEqualTo( assertThat(sql).isEqualTo(
"DELETE FROM second_level_referenced_entity WHERE referenced_entity IN (SELECT x_l1id FROM referenced_entity WHERE dummy_entity = :rootId)"); "DELETE FROM second_level_referenced_entity WHERE referenced_entity IN (SELECT x_l1id FROM referenced_entity WHERE dummy_entity = :rootId)");
@ -107,7 +107,7 @@ public class SqlGeneratorUnitTests {
@Test // DATAJDBC-112 @Test // DATAJDBC-112
public void cascadingDeleteAllFirstLevel() { public void cascadingDeleteAllFirstLevel() {
String sql = sqlGenerator.createDeleteAllSql(getPath("ref", DummyEntity.class)); String sql = sqlGenerator.createDeleteAllSql(getPath("ref"));
assertThat(sql).isEqualTo("DELETE FROM referenced_entity WHERE dummy_entity IS NOT NULL"); assertThat(sql).isEqualTo("DELETE FROM referenced_entity WHERE dummy_entity IS NOT NULL");
} }
@ -115,7 +115,7 @@ public class SqlGeneratorUnitTests {
@Test // DATAJDBC-112 @Test // DATAJDBC-112
public void cascadingDeleteSecondLevel() { public void cascadingDeleteSecondLevel() {
String sql = sqlGenerator.createDeleteAllSql(getPath("ref.further", DummyEntity.class)); String sql = sqlGenerator.createDeleteAllSql(getPath("ref.further"));
assertThat(sql).isEqualTo( assertThat(sql).isEqualTo(
"DELETE FROM second_level_referenced_entity WHERE referenced_entity IN (SELECT x_l1id FROM referenced_entity WHERE dummy_entity IS NOT NULL)"); "DELETE FROM second_level_referenced_entity WHERE referenced_entity IN (SELECT x_l1id FROM referenced_entity WHERE dummy_entity IS NOT NULL)");
@ -124,7 +124,7 @@ public class SqlGeneratorUnitTests {
@Test // DATAJDBC-227 @Test // DATAJDBC-227
public void deleteAllMap() { public void deleteAllMap() {
String sql = sqlGenerator.createDeleteAllSql(getPath("mappedElements", DummyEntity.class)); String sql = sqlGenerator.createDeleteAllSql(getPath("mappedElements"));
assertThat(sql).isEqualTo("DELETE FROM element WHERE dummy_entity IS NOT NULL"); assertThat(sql).isEqualTo("DELETE FROM element WHERE dummy_entity IS NOT NULL");
} }
@ -132,7 +132,7 @@ public class SqlGeneratorUnitTests {
@Test // DATAJDBC-227 @Test // DATAJDBC-227
public void deleteMapByPath() { public void deleteMapByPath() {
String sql = sqlGenerator.createDeleteByPath(getPath("mappedElements", DummyEntity.class)); String sql = sqlGenerator.createDeleteByPath(getPath("mappedElements"));
assertThat(sql).isEqualTo("DELETE FROM element WHERE dummy_entity = :rootId"); assertThat(sql).isEqualTo("DELETE FROM element WHERE dummy_entity = :rootId");
} }
@ -164,7 +164,7 @@ public class SqlGeneratorUnitTests {
@Test(expected = IllegalArgumentException.class) // DATAJDBC-130 @Test(expected = IllegalArgumentException.class) // DATAJDBC-130
public void findAllByPropertyOrderedWithoutKey() { public void findAllByPropertyOrderedWithoutKey() {
String sql = sqlGenerator.getFindAllByProperty("back-ref", null, true); sqlGenerator.getFindAllByProperty("back-ref", null, true);
} }
@Test // DATAJDBC-131 @Test // DATAJDBC-131
@ -192,6 +192,7 @@ public class SqlGeneratorUnitTests {
@Test // DATAJDBC-334 @Test // DATAJDBC-334
public void getInsertForQuotedColumnName() { public void getInsertForQuotedColumnName() {
SqlGenerator sqlGenerator = createSqlGenerator(EntityWithQuotedColumnName.class); SqlGenerator sqlGenerator = createSqlGenerator(EntityWithQuotedColumnName.class);
String insert = sqlGenerator.getInsert(emptySet()); String insert = sqlGenerator.getInsert(emptySet());
@ -202,6 +203,7 @@ public class SqlGeneratorUnitTests {
@Test // DATAJDBC-334 @Test // DATAJDBC-334
public void getUpdateForQuotedColumnName() { public void getUpdateForQuotedColumnName() {
SqlGenerator sqlGenerator = createSqlGenerator(EntityWithQuotedColumnName.class); SqlGenerator sqlGenerator = createSqlGenerator(EntityWithQuotedColumnName.class);
String update = sqlGenerator.getUpdate(); String update = sqlGenerator.getUpdate();
@ -210,8 +212,8 @@ public class SqlGeneratorUnitTests {
.endsWith("\"test_@123\" = :test_123 " + "WHERE \"test_@id\" = :test_id"); .endsWith("\"test_@123\" = :test_123 " + "WHERE \"test_@id\" = :test_id");
} }
private PersistentPropertyPath<RelationalPersistentProperty> getPath(String path, Class<?> base) { private PersistentPropertyPath<RelationalPersistentProperty> getPath(String path) {
return PersistentPropertyPathTestUtils.getPath(context, path, base); return PersistentPropertyPathTestUtils.getPath(context, path, DummyEntity.class);
} }
@SuppressWarnings("unused") @SuppressWarnings("unused")
@ -260,6 +262,7 @@ public class SqlGeneratorUnitTests {
} }
static class EntityWithQuotedColumnName { static class EntityWithQuotedColumnName {
@Id @Column("\"test_@id\"") Long id; @Id @Column("\"test_@id\"") Long id;
@Column("\"test_@123\"") String name; @Column("\"test_@123\"") String name;
} }

Loading…
Cancel
Save