diff --git a/pom.xml b/pom.xml
index 680dddf736..03b742d2e7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-relational-parent
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.DATAJDBC-347-SNAPSHOT
pom
Spring Data Relational Parent
diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SelectBuilder.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SelectBuilder.java
index 5ee62bc524..e6e005314c 100644
--- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SelectBuilder.java
+++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SelectBuilder.java
@@ -110,6 +110,18 @@ interface SelectAndFrom extends SelectFrom {
*/
SelectAndFrom distinct();
+ /**
+ * Declare a {@link Table} to {@code SELECT … FROM}. Multiple calls to this or other {@code from} methods keep
+ * adding items to the select list and do not replace previously contained items.
+ *
+ * @param table the table name to {@code SELECT … FROM} must not be {@literal null} or empty.
+ * @return {@code this} builder.
+ * @see From
+ * @see SQL#table(String)
+ */
+ @Override
+ SelectFromAndJoin from(String table);
+
/**
* Declare a {@link Table} to {@code SELECT … FROM}. Multiple calls to this or other {@code from} methods keep
* adding items to the select list and do not replace previously contained items.
diff --git a/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/SelectBuilderUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/SelectBuilderUnitTests.java
index 8938b9d909..30c0d5acac 100644
--- a/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/SelectBuilderUnitTests.java
+++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/SelectBuilderUnitTests.java
@@ -17,11 +17,10 @@
import static org.assertj.core.api.Assertions.*;
-import java.util.ArrayList;
-import java.util.List;
import java.util.OptionalLong;
import org.junit.Test;
+
import org.springframework.data.relational.core.sql.Join.JoinType;
/**
@@ -65,6 +64,23 @@ public void selectTop() {
assertThat(select.getLimit()).isEqualTo(OptionalLong.of(10));
}
+ @Test // DATAJDBC-347
+ public void selectWithWhere() {
+
+ SelectBuilder builder = StatementBuilder.select();
+
+ Table table = SQL.table("mytable");
+ Column foo = table.column("foo");
+
+ Comparison condition = foo.isEqualTo(SQL.literalOf("bar"));
+ Select select = builder.select(foo).from(table.getName()).where(condition).build();
+
+ CapturingVisitor visitor = new CapturingVisitor();
+ select.visit(visitor);
+
+ assertThat(visitor.enter).containsSequence(foo, table, new From(table), table, new Where(condition));
+ }
+
@Test // DATAJDBC-309
public void moreAdvancedSelect() {