Я использую библиотеку сохраняемости комнаты Android для своего нового проекта. Я хочу обновить какое-то поле таблицы. Я пробовал как в моем Dao
-
// Method 1:
@Dao
public interface TourDao {
@Update
int updateTour(Tour tour);
}
Но когда я пытаюсь выполнить обновление с помощью этого метода, он обновляет каждое поле объекта, где оно соответствует значению первичного ключа объекта тура. я использовал@Query
// Method 2:
@Query("UPDATE Tour SET endAddress = :end_address WHERE id = :tid")
int updateTour(long tid, String end_address);
Он работает, но в моем случае будет много запросов, потому что у меня много полей в моей сущности. Я хочу знать, как обновить некоторые поля (не все), например Method 1
where id = 1; (id - это автоматически сгенерированный первичный ключ).
// Entity:
@Entity
public class Tour {
@PrimaryKey(autoGenerate = true)
public long id;
private String startAddress;
private String endAddress;
//constructor, getter and setter
}