Avatar ·

Android Room: cómo usar correctamente LIKE en consultas con parámetros

¡Hola a todos! Soy nuevo en el desarrollo de Android con Kotlin y uso Room para trabajar con una base de datos local. Tengo una entidad User y quiero implementar la búsqueda de usuarios por nombre usando el operador SQL LIKE.

Aquí está mi DAO:

@Dao
interface UserDao {
    @Query("SELECT * FROM users WHERE name LIKE '%:searchQuery%'")
    suspend fun searchUsers(searchQuery: String): List<User>
}

Llamo a este método desde el ViewModel:

class UserViewModel(private val userDao: UserDao) : ViewModel() {
    fun search(query: String) {
        viewModelScope.launch {
            val users = userDao.searchUsers(query)
            // Procesar resultados
        }
    }
}

El problema es que la consulta no devuelve ningún resultado, aunque en la base de datos hay registros con nombres que contienen la cadena buscada. Probé pasar diferentes valores — nombres completos, partes de cadenas — nada