QueryDSL 中的动态排序
Dynamic sorting in QueryDSL
假设我有一个实体:
@Entity
public class Person {
@Id
private int id;
private String name;
private Date birthdate;
}
并且我想要一种方法,该方法将 return OrderSpecifier
用于基于 String
参数的该实体的字段,该参数将是实体字段之一的名称。
/**
* fieldName - name of field from Person entity
*/
private OrderSpecifier<?> getSortedColumn(Order order, String fieldName){
//how to implement this???
}
我实际上是这样做的:
/**
* fieldName - name of field from Person entity
*/
private OrderSpecifier<?> getSortedColumn(Order order, String fieldName){
Path<Object> fieldPath = Expressions.path(Object.class, QPerson.person, fieldName);
return new OrderSpecifier(order, fieldPath);
}
假设我有一个实体:
@Entity
public class Person {
@Id
private int id;
private String name;
private Date birthdate;
}
并且我想要一种方法,该方法将 return OrderSpecifier
用于基于 String
参数的该实体的字段,该参数将是实体字段之一的名称。
/**
* fieldName - name of field from Person entity
*/
private OrderSpecifier<?> getSortedColumn(Order order, String fieldName){
//how to implement this???
}
我实际上是这样做的:
/**
* fieldName - name of field from Person entity
*/
private OrderSpecifier<?> getSortedColumn(Order order, String fieldName){
Path<Object> fieldPath = Expressions.path(Object.class, QPerson.person, fieldName);
return new OrderSpecifier(order, fieldPath);
}