Estoy usando la biblioteca de persistencia de habitaciones de Android para mi nuevo proyecto. Quiero actualizar algún campo de la tabla. Lo he intentado como en mi Dao
-
// Method 1:
@Dao
public interface TourDao {
@Update
int updateTour(Tour tour);
}
Pero cuando trato de actualizar usando este método, actualiza todos los campos de la entidad donde coincide con el valor de la clave principal del objeto tour. He usado@Query
// Method 2:
@Query("UPDATE Tour SET endAddress = :end_address WHERE id = :tid")
int updateTour(long tid, String end_address);
Está funcionando pero habrá muchas consultas en mi caso porque tengo muchos campos en mi entidad. Quiero saber cómo puedo actualizar algún campo (no todos) como Method 1
donde id = 1; (id es la clave primaria de generación automática).
// Entity:
@Entity
public class Tour {
@PrimaryKey(autoGenerate = true)
public long id;
private String startAddress;
private String endAddress;
//constructor, getter and setter
}