Avatar ·

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