J'utilise la bibliothèque de persistance de salle Android pour mon nouveau projet. Je veux mettre à jour un champ de table. J'ai essayé comme dans mon Dao
-
// Method 1:
@Dao
public interface TourDao {
@Update
int updateTour(Tour tour);
}
Mais lorsque j'essaie de mettre à jour à l'aide de cette méthode, il met à jour chaque champ de l'entité où il correspond à la valeur de clé primaire de l'objet de tournée. j'ai utilisé@Query
// Method 2:
@Query("UPDATE Tour SET endAddress = :end_address WHERE id = :tid")
int updateTour(long tid, String end_address);
Cela fonctionne mais il y aura de nombreuses requêtes dans mon cas car j'ai de nombreux champs dans mon entité. Je veux savoir comment puis-je mettre à jour certains champs (pas tous) comme Method 1
where id = 1; (id est la clé primaire de génération automatique).
// Entity:
@Entity
public class Tour {
@PrimaryKey(autoGenerate = true)
public long id;
private String startAddress;
private String endAddress;
//constructor, getter and setter
}