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

相关内容

热门资讯

透视黑科技!wepokerpl... 透视黑科技!wepokerplus辅助(透视)微信边锋辅助工具(一贯真的是有辅助下载)-哔哩哔哩1)...
透视能赢!wepoker怎么设... 透视能赢!wepoker怎么设置房间(透视)潮汕汇app辅助(果然是有辅助下载)-哔哩哔哩1、上手简...
透视辅助!wpk软件是正规的吗... 透视辅助!wpk软件是正规的吗(透视)拱趴大菠萝有辅助吗(果然有辅助app)-哔哩哔哩1、拱趴大菠萝...
日前!wepoker好友局透视... 日前!wepoker好友局透视(透视)福州天天开心辅助(真是真的有辅助神器)-哔哩哔哩1、这是跨平台...
近期!hhpoker有没有辅助... 近期!hhpoker有没有辅助(透视)大巴杭州辅助(其实真的有辅助工具)-哔哩哔哩1)大巴杭州辅助免...
此事引发广泛关注!wepoke... 此事引发广泛关注!wepoker有机器人吗(透视)桂麻圈辅助器试用方法(果然存在有辅助辅助器)-哔哩...
透视科技!pokemmo手机版... 透视科技!pokemmo手机版脚本(透视)闲来辅助软件靠谱吗(都是有辅助平台)-哔哩哔哩闲来辅助软件...
透视科技!来玩app破解版(透... 透视科技!来玩app破解版(透视)微信边锋小程序辅助器免费(确实是真的辅助神器)-哔哩哔哩所有人都在...
透视了解!wpk显示有作必弊(... 透视了解!wpk显示有作必弊(透视)闲来山水广西辅助(好像真的是有辅助app)-哔哩哔哩进入游戏-大...
透视规律!wepoker脚本下... 透视规律!wepoker脚本下载(透视)贪玩互娱辅助(一贯真的是有辅助下载)-哔哩哔哩1、打开软件启...