Do not prefix unsafe orer by expressions with table prefix.
Such expressions now get passed on unchanged. This also deprecates org.springframework.data.r2dbc.query.QueryMapper.getMappedObject(Sort, RelationalPersistentEntity<?>). It was only used in tests and translates an Order into another Order, which sounds wrong. Closes #1512 Original pull request: #1513
This commit is contained in:
committed by
Mark Paluch
parent
9acf426ff7
commit
e0a0bb2b5d
@@ -93,6 +93,8 @@ public class QueryMapper {
|
||||
|
||||
for (Sort.Order order : sort) {
|
||||
|
||||
SqlSort.validate(order);
|
||||
|
||||
OrderByField simpleOrderByField = createSimpleOrderByField(table, entity, order);
|
||||
OrderByField orderBy = simpleOrderByField
|
||||
.withNullHandling(order.getNullHandling());
|
||||
@@ -105,7 +107,9 @@ public class QueryMapper {
|
||||
|
||||
private OrderByField createSimpleOrderByField(Table table, RelationalPersistentEntity<?> entity, Sort.Order order) {
|
||||
|
||||
SqlSort.validate(order);
|
||||
if (order instanceof SqlSort.SqlOrder sqlOrder && sqlOrder.isUnsafe()) {
|
||||
return OrderByField.from(Expressions.just(sqlOrder.getProperty()));
|
||||
}
|
||||
|
||||
Field field = createPropertyField(entity, SqlIdentifier.unquoted(order.getProperty()), this.mappingContext);
|
||||
return OrderByField.from(table.column(field.getMappedColumnName()));
|
||||
|
||||
Reference in New Issue
Block a user