QueryDsl orderBy 列名称

Mar*_*rko 5 hibernate jpa querydsl

我刚刚开始使用 QueryDSL 并遇到了问题。是否可以使用列名进行 orderBy ?我发现这个用于 orderBy 动态路径生成:

通用 querydsl orderBy 具有左连接的动态路径生成

这很棒,但就我而言,GUI 已经发送了用于排序的列名称。例如,“USER_ID”是列名,属性是“userid”

@Entity
@Table(name="USER")
public class User implements java.io.Serializable {

private String userid;   

@Id     
@Column(name="USER_ID", unique=true, nullable=false, length=18)
public String getUserid() {
    return this.userid;
}
Run Code Online (Sandbox Code Playgroud)

}

从休眠中的列名称中提取属性名称是我能想到的唯一解决方案。

我将不胜感激任何建议。

Tim*_*per 2

您可以用于PathBuilder动态路径构建

PathBuilder<User> pbu = new PathBuilder<>(User.class, "user");
query.orderBy(pbu.getString(orderProperty).asc());
Run Code Online (Sandbox Code Playgroud)