Я використовую бібліотеку стійкості для android room для свого нового проекту. Я хочу оновити деяке поле таблиці. Я спробував, як у своєму 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
де id = 1; (id - це автоматично генерувати первинний ключ).
// Entity:
@Entity
public class Tour {
@PrimaryKey(autoGenerate = true)
public long id;
private String startAddress;
private String endAddress;
//constructor, getter and setter
}