Room @Query поле аннотации без кавычек - PullRequest
2 голосов
/ 16 апреля 2019

У меня есть метод DAO, подобный этому:

@Query("SELECT * FROM Libs where :field like :search")
fun findLib(search:String,field:String): List<Lib>

Я хочу заменить поле как есть, но Room добавляет кавычки к нему в сгенерированном коде.Например, я хочу найти findLib ("james%", "author") для генерации этого SQL:

SELECT * FROM Libs where author like "james%"

, но он генерирует это:

SELECT * FROM Libs where "author" like "james%" 

как я могу заставить егоне вставлять в кавычки?

1 Ответ

1 голос
/ 16 апреля 2019

SQLite не поддерживает параметры для имен столбцов, насколько я знаю.Таким образом, вы неправильно используете комнату.Правильный вариант использования будет следующим:

@Query("SELECT * FROM Libs WHERE author LIKE :search")
fun findLib(search:String): List<Lib>

Использование: findLib ("james%")

...