【发布时间】:2020-11-17 07:14:06
【问题描述】:
目前,我有一个 Room 实体,看起来像
@Entity(
tableName = "holiday_country",
indices = {
@Index(value = "code", unique = true)
}
)
public class HolidayCountry
相当于有索引
CREATE UNIQUE INDEX `index_holiday_country_code` ON `holiday_country` (`code`)
但是,我还需要有以下第二个索引,因为有时我会执行不区分大小写的查询。
CREATE UNIQUE INDEX `index_holiday_country_code_nocase` ON `holiday_country` (`code` COLLATE NOCASE)
如果是这样,那么如何在 Room 实体中声明这样的索引?
【问题讨论】:
-
如果您想要不区分大小写的查询,您可以使用
LOWER(column)并将其与myString.toLower()进行比较。你试过了吗? -
我们更喜欢通过 DB 使用
COLLATE NOCASE而不必在客户端代码中执行转换。
标签: android sqlite android-room