Skip to content

Commit f9bc40c

Browse files
mhyeon-leeschauder
authored andcommitted
DATAJDBC-530 - The sorting property set as the property name.
Original pull request: #210.
1 parent 8c70bbf commit f9bc40c

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlGenerator.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
* @author Tom Hombergs
5353
* @author Tyler Van Gorder
5454
* @author Milan Milanov
55+
* @author Myeonghyeon Lee
5556
*/
5657
class SqlGenerator {
5758

@@ -659,7 +660,13 @@ private String renderReference(SqlIdentifier identifier) {
659660

660661
private List<OrderByField> extractOrderByFields(Sort sort) {
661662
return sort.stream()
662-
.map(order -> OrderByField.from(Column.create(order.getProperty(), this.getTable()), order.getDirection()))
663+
.map(order -> {
664+
Column column = Column.create(
665+
this.entity.getRequiredPersistentProperty(order.getProperty()).getColumnName(),
666+
this.getTable()
667+
);
668+
return OrderByField.from(column, order.getDirection());
669+
})
663670
.collect(Collectors.toList());
664671
}
665672

spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlGeneratorUnitTests.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
* @author Mark Paluch
6060
* @author Tom Hombergs
6161
* @author Milan Milanov
62+
* @author Myeonghyeon Lee
6263
*/
6364
public class SqlGeneratorUnitTests {
6465

@@ -177,7 +178,7 @@ public void findAllSortedByUnsorted() {
177178
@Test // DATAJDBC-101
178179
public void findAllSortedBySingleField() {
179180

180-
String sql = sqlGenerator.getFindAll(Sort.by("x_name"));
181+
String sql = sqlGenerator.getFindAll(Sort.by("name"));
181182

182183
assertThat(sql).contains("SELECT", //
183184
"dummy_entity.id1 AS id1", //
@@ -197,7 +198,7 @@ public void findAllSortedBySingleField() {
197198
public void findAllSortedByMultipleFields() {
198199

199200
String sql = sqlGenerator.getFindAll(
200-
Sort.by(new Sort.Order(Sort.Direction.DESC, "x_name"), new Sort.Order(Sort.Direction.ASC, "x_other")));
201+
Sort.by(new Sort.Order(Sort.Direction.DESC, "name"), new Sort.Order(Sort.Direction.ASC, "other")));
201202

202203
assertThat(sql).contains("SELECT", //
203204
"dummy_entity.id1 AS id1", //
@@ -245,7 +246,7 @@ public void findAllPaged() {
245246
@Test // DATAJDBC-101
246247
public void findAllPagedAndSorted() {
247248

248-
String sql = sqlGenerator.getFindAll(PageRequest.of(3, 10, Sort.by("x_name")));
249+
String sql = sqlGenerator.getFindAll(PageRequest.of(3, 10, Sort.by("name")));
249250

250251
assertThat(sql).contains("SELECT", //
251252
"dummy_entity.id1 AS id1", //

0 commit comments

Comments
 (0)