2017-08-21 53 views
12

bir varlık bazı belirli bir alanı güncelleyin Benim yeni proje için android oda kalıcılık kütüphanesi kullanıyorum. Bazı tablo alanını güncellemek istiyorum. benim Dao gibi çalıştık -android oda

Yöntem 1:

@Dao 
public interface TourDao { 
    @Update 
    int updateTour(Tour tour); 
} 

Ama bu yöntemi kullanarak güncelleştirmeye çalıştığınızda o zaman birincil anahtar değeri ile eşleşen varlığın her alanını günceller tur nesnesinin Ben @Query

Yöntem 2 kullandık:

Çalışan ama benim varlık birçok alan vardır çünkü benim durumumda çok uzun sorgu edilir
@Query("UPDATE Tour SET endAddress = :end_address WHERE id = :tid) 
    int updateTour(long tid, String end_address); 

. Bazı alanların (hepsi değil) method 1 gibi kimlik bilgilerini nasıl güncelleyeceğimi bilmek istiyorum; (id, otomatik oluştur birincil anahtar).

Entity: 

@Entity 
public class Tour { 
    @PrimaryKey(autoGenerate = true) 
    public long id; 
    private String startAddress; 
    private String endAddress; 
    //constructor, getter and setter 
} 
+0

Tablodaki bir liste nasıl güncellenir. Aslında listeyi TypeConverter tarafından tabloya ekledim. Ancak güncelleme ile birlikte çalışırken çalışmıyor. Böyle bir sorunla karşılaşırsanız lütfen öneriniz. –

cevap

9

Ben yöntemle 1 id = 1

Kullanım @Query, sen Yöntemi olduğu gibi 2.

gibi bazı alan (hepsi değil) güncelleyebilirsiniz nasıl bilmek istiyorum benim varlık birçok alan vardır çünkü

benim durumumda çok uzun sorgu ise

Daha küçük varlıklar var. Veya alanları tek tek güncellemeyin, ancak bunun yerine veritabanıyla daha kaba taneli etkileşimlere sahip olun. IOW, Oda'nın içinde aradığınız şeyi yapacak hiçbir şey yoktur.

İlgili konular