Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Usar anotação @Delete x @Query de DELETE

Bom dia a todos Na aula, ao invés de utilizar a anotação de delete, o professor optou por utilizar uma query de delete a partir do id dela:

@Query("DELETE FROM Contato WHERE id = :id")
    suspend fun delete(id: Long)

Ao invés de fazer o delete passando o objeto a ser excluído:

    @Delete
    suspend fun delete(contato: Contato)

Minha dúvida é: quais são as vantagens de desvantagens de utilizar uma abordagem ou a outra????

1 resposta
solução!

Oi Murilo, tudo bem?

A vantagem de utilizar a anotação @Query com uma query de delete, como mostrado na aula, é que você tem mais controle sobre a operação de exclusão. Você pode especificar exatamente quais registros deseja excluir, utilizando condições na query, como no exemplo em que é feita a exclusão do registro com base no ID.

Por outro lado, a anotação @Delete permite que você exclua um objeto diretamente, sem precisar escrever uma query. Isso pode ser mais conveniente em alguns casos, especialmente quando você já possui o objeto que deseja excluir.

Então, a escolha entre usar a anotação @Query ou @Delete depende do seu caso de uso específico. Se você precisa de mais controle sobre a exclusão e deseja especificar condições personalizadas, a abordagem com @Query é mais adequada. Por outro lado, se você já possui o objeto que deseja excluir, a anotação @Delete pode ser mais simples e direta.

Um abraço e bons estudos.