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.智星德州...
最新消息!impoker辅助,... 最新消息!impoker辅助,德扑之星有辅助软件吗,一贯真的有挂(有挂秘笈)一、德扑之星有辅助软件吗...
突发!wepoker有人用过吗... 突发!wepoker有人用过吗,德扑之心免费透视,竟然确实有挂(证实有挂)1、金币登录送、破产送、升...
近年来!wepoker辅助器如... 近年来!wepoker辅助器如何使用,德普之星透视辅助软件是真的吗,切实真的是有挂(有人有挂)德普之...
有消息称!hhpoker软件安... 有消息称!hhpoker软件安装包,德普之星有透视辅助吗,竟然是有挂(了解有挂)1)德普之星有透视辅...
据相关数据显示!xpoker辅... 据相关数据显示!xpoker辅助,德普之星透视辅助软件是真的吗,总是是真的有挂(有挂分析)1、完成德...
此事引发网友热议!hhpoke... 此事引发网友热议!hhpoker软件靠谱吗,德普辅助器怎么用,其实是真的有挂(新版有挂)1、不需要A...
出现新变化!hhpoker到底... 出现新变化!hhpoker到底可以作弊码,德扑之星辅助工具如何设置,本来真的有挂(真是有挂)运德扑之...
现有说明如下!约局吧游戏挂,德... 现有说明如下!约局吧游戏挂,德普辅助软件,一直确实有挂(真实有挂)1、下载好德普辅助软件透视辅助下载...
经核实!werplan辅助软件... 经核实!werplan辅助软件,德普之星透视辅助软件,确实是真的有挂(的确有挂)1、任何德普之星透视...