Android Room Dao:OrderBy CASE不起作用。
创始人
2024-08-15 10:00:54
0

在Android Room中使用OrderBy CASE语句时,可能会遇到无法正常工作的问题。为了解决这个问题,可以尝试以下解决方法:

  1. 使用@Query注解手动编写自定义的SQL查询语句,而不是使用Room的自动生成查询。这样可以更灵活地控制查询逻辑。例如:
@Dao
public interface UserDao {
    @Query("SELECT * FROM User ORDER BY CASE WHEN :sort = 'name' THEN name END")
    List getUsersSortedByName(String sort);
}
  1. 使用Room的SortingMapping类,它可以在查询结果中对结果进行排序。首先,创建一个自定义的SortingMapping类来实现排序逻辑:
public class UserSortMapping {
    public String sortField;
    public String name;

    public UserSortMapping(String sortField, String name) {
        this.sortField = sortField;
        this.name = name;
    }
}

然后,在查询方法中使用SortingMapping类来进行排序:

@Dao
public interface UserDao {
    @Query("SELECT name AS name, name AS sortField FROM User ORDER BY :sortField")
    List getUsersSortedByName(String sort);
}

这样,就可以根据传入的排序字段进行排序。

这些解决方法可以帮助您解决Android Room Dao中使用OrderBy CASE不起作用的问题。

相关内容

热门资讯

专业透视!hhpoker是真的... 专业透视!hhpoker是真的假的,微乐山西脚本插件,指南教程(有挂方法)-哔哩哔哩1、hhpoke...
揭露透视!智星菠萝透视,微信小... 揭露透视!智星菠萝透视,微信小程序微乐安徽辅助器,绝活儿教程(有挂方法)-哔哩哔哩1、玩家可以在智星...
解迷透视!德普之星透视辅助软件... 解迷透视!德普之星透视辅助软件,微乐广西自建房免费黑科技下载,资料教程(讲解有挂)-哔哩哔哩1、实时...
揭幕透视!红龙poker辅助,... 揭幕透视!红龙poker辅助,微乐家乡麻辣自建房,教材教程(有挂教程)-哔哩哔哩1、让任何用户在无需...
有挂透视!pokemmo手机版... 有挂透视!pokemmo手机版透视脚本,微信小程序辅助多少钱,窍门教程(有挂方式)-哔哩哔哩1、po...
推荐透视!aapoker透视脚... 推荐透视!aapoker透视脚本入口,微信微乐开挂,策略教程(有挂辅助)-哔哩哔哩1)aapoker...
解迷透视!hhpoker作弊码... 解迷透视!hhpoker作弊码怎么用,微乐脚本辅助器,总结教程(有挂透视)-哔哩哔哩1.hhpoke...
专业透视!pokemmo手机脚... 专业透视!pokemmo手机脚本,微乐家乡app辅助器,绝活教程(有挂细节)-哔哩哔哩1、pokem...
了解透视!hhpoker作弊实... 了解透视!hhpoker作弊实战视频,微乐小程序自建房插件怎么安装,绝活儿教程(有挂教学)-哔哩哔哩...
详情透视!佛手大菠萝有挂吗,微... 详情透视!佛手大菠萝有挂吗,微信小程序游戏辅助,秘籍教程(有挂头条)-哔哩哔哩1)佛手大菠萝有挂吗免...