Estou usando a biblioteca de persistência de sala do Android para meu novo projeto. Eu quero atualizar algum campo da tabela. Eu tentei como no meu Dao
-
// Method 1:
@Dao
public interface TourDao {
@Update
int updateTour(Tour tour);
}
Mas quando tento atualizar usando este método, ele atualiza todos os campos da entidade onde corresponde ao valor da chave primária do objeto de passeio. Eu tenho usado@Query
// Method 2:
@Query("UPDATE Tour SET endAddress = :end_address WHERE id = :tid")
int updateTour(long tid, String end_address);
Está funcionando, mas haverá muitas consultas no meu caso porque tenho muitos campos na minha entidade. Eu quero saber como posso atualizar alguns campos (não todos) como Method 1
onde id = 1; (id é a chave primária gerada automaticamente).
// Entity:
@Entity
public class Tour {
@PrimaryKey(autoGenerate = true)
public long id;
private String startAddress;
private String endAddress;
//constructor, getter and setter
}