Android Room: como usar corretamente LIKE em consultas com parâmetros?
Olá a todos! Sou novo no desenvolvimento Android com Kotlin e estou usando Room para trabalhar com banco de dados local. Tenho uma entidade User e quero implementar busca de usuários por nome usando o operador SQL LIKE.
Aqui está minha entidade DAO:
@Dao
interface UserDao {
@Query("SELECT * FROM users WHERE name LIKE '%:searchQuery%'")
suspend fun searchUsers(searchQuery: String): List<User>
}
Estou chamando este método do ViewModel:
class UserViewModel(private val userDao: UserDao) : ViewModel() {
fun search(query: String) {
viewModelScope.launch {
val users = userDao.searchUsers(query)
// Processamento dos resultados
}
}
}
O problema é que a consulta não retorna nenhum resultado, embora haja registros no banco com nomes contendo a string buscada. Tentei passar diferentes valores — nomes completos, partes de strings — nada