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

相关内容

热门资讯

透视存在"德普之星辅... 1、透视存在"德普之星辅助器怎么用"详细辅助德州论坛(买脚本靠谱神器);详细教程。2、德普之星辅助器...
透视总结"wepok... 透视总结"wepoker辅助器有哪些功能"详细辅助黑科技教程(透视器免费技巧)1、很好的工具软件,可...
透视有挂"wepok... 透视有挂"wepoker可以免费玩吗"详细辅助安装教程(私人局外卦透视);致您一封信;亲爱wepok...
透视智能ai"wep... 透视智能ai"wepoker软件安装包"详细辅助黑科技教程(辅助技巧);科技安装教程;1367043...
透视了解"pokem... 1、透视了解"pokemmo手机版脚本"详细辅助攻略教程(软件透明);详细教程。2、pokemmo手...
透视智能ai"pok... 透视智能ai"pokemmo辅助工具"详细辅助解密教程(免费脚本软件),支持语音通讯、好友开房及战队...
透视总结"德扑圈透视... 透视总结"德扑圈透视挂"详细辅助曝光教程(底牌透视技巧)是由北京得德扑圈透视挂黑科技有限公司精心研发...
透视代打"佛手大菠萝... 透视代打"佛手大菠萝13道挂哪里"详细辅助软件教程(有用方法);支持多人共享记分板与复盘,通过邀请好...
透视透视"aapok... 透视透视"aapoker透视脚本入口"详细辅助解说技巧(免费脚本咨询技巧);1.aapoker透视脚...
透视能赢"模拟器打开... 透视能赢"模拟器打开hhpoker"详细辅助微扑克教程(是有挂软件透明)关于模拟器打开hhpoker...