Ich verwende die Android Room Persistence Library für mein neues Projekt. Ich möchte ein Tabellenfeld aktualisieren. Ich habe versucht wie in meinem Dao
-
// Method 1:
@Dao
public interface TourDao {
@Update
int updateTour(Tour tour);
}
Wenn ich jedoch versuche, mit dieser Methode zu aktualisieren, werden alle Felder der Entität aktualisiert, in denen sie mit dem Primärschlüsselwert des Tourobjekts übereinstimmen. Ich habe benutzt@Query
// Method 2:
@Query("UPDATE Tour SET endAddress = :end_address WHERE id = :tid")
int updateTour(long tid, String end_address);
Es funktioniert, aber in meinem Fall wird es viele Abfragen geben, da ich viele Felder in meiner Entität habe. Ich möchte wissen, wie ich ein Feld (nicht alle) wie Method 1
id = 1 aktualisieren kann . (id ist der automatisch generierte Primärschlüssel).
// Entity:
@Entity
public class Tour {
@PrimaryKey(autoGenerate = true)
public long id;
private String startAddress;
private String endAddress;
//constructor, getter and setter
}