我有一个从表中选择人员的查询。

SelectConditionStep<PersonRecord> select = context
    .selectFrom(Tables.PERSON)
    .where(Tables.PERSON.ISDELETED.eq(false));

if(searchValue != null && searchValue.length() > 0){
    select.and(Tables.PERSON.LASTNAME.likeIgnoreCase(String.format("%%%s%%", searchValue)));
}
List<PersonRecord> dbPersons = select
    .orderBy(Tables.PERSON.LASTNAME, Tables.PERSON.FIRSTNAME, Tables.PERSON.ID)
    .limit(length).offset(start)
    .fetch();


这段代码效果很好。因为我将数据显示在数据表中,所以我需要具有可选的/动态排序功能。到目前为止,我还没有找到解决方案。

最佳答案

现在自己找到了解决方案:

Collection<SortField<?>> sortFields = new ArrayList<>();
sortFields.add(Tables.PERSON.FIRSTNAME.asc());

List<PersonRecord> dbPersons = select
        .orderBy(sortFields)
        .limit(length).offset(start)
        .fetch();

关于java - jOOQ如何使用可选排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39222482/

10-13 05:59