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不起作用的问题。

相关内容

热门资讯

不少玩家反映!微乐小程序黑科技... 不少玩家反映!微乐小程序黑科技,微信微乐辅助器免费(透视)一直存在有辅助脚本(哔哩哔哩)是不是有人用...
透视手册!steampoker... 透视手册!steampokermaster辅助(德普之星私人局)果然是真的有辅助神器(哔哩哔哩)1、...
透视工具!微信微乐游戏辅助脚本... 透视工具!微信微乐游戏辅助脚本,微乐自建房免费脚本哪个最好用(透视)都是真的有辅助器(哔哩哔哩)脚本...
透视妙计!德州hhpoker是... 透视妙计!德州hhpoker是真的吗(WPK软件)真是是真的有辅助攻略(哔哩哔哩)1.德州hhpok...
透视安装!微乐小程序免费黑科技... 透视安装!微乐小程序免费黑科技,微乐辅助靠谱麻(透视)好像是真的辅助脚本(哔哩哔哩)1)辅助插件:进...
透视练习!wejoker免费脚... 透视练习!wejoker免费脚本(HHpoker脚本)确实是真的有辅助神器(哔哩哔哩)进入游戏-大厅...
今天上午!微乐小程序黑科技,微... 今天上午!微乐小程序黑科技,微乐小程序破解版修改器(透视)好像是有辅助脚本(哔哩哔哩)在进入软件靠谱...
随着!微信微乐游戏辅助脚本,微... 随着!微信微乐游戏辅助脚本,微乐辅助脚本(透视)真是存在有辅助工具(哔哩哔哩)1、公共底牌简单,透视...
透视办法!aapoker怎么控... 透视办法!aapoker怎么控制牌(WePoKer价格)果然是真的有辅助软件(哔哩哔哩)1、玩家可以...
透视手筋!wepoker能不能... 透视手筋!wepoker能不能透视(德普之星辅助软件)好像真的有辅助神器(哔哩哔哩)1、操作简单,无...