我正在为我的新项目使用android房间持久性库.
我想更新一些表的字段.
我试过像我的道 –
// Method 1:@Daopublic interface TourDao { @Update int updatetour(Tour tour);}
但是当我尝试使用此方法进行更新时,它会更新实体中与tour对象的主键值匹配的每个字段.
我用过@query
// Method 2:@query("UPDATE Tour SET endAddress = :end_address WHERE ID = :tID")int updatetour(long tID, String end_address);
它正在工作,但在我的案例中会有很多查询,因为我的实体中有很多字段.我想知道如何更新某些字段(不是全部),如方法1,其中ID = 1; (ID是自动生成主键).
// Entity:@Entitypublic class Tour { @PrimaryKey(autoGenerate = true) public long ID; private String startAddress; private String endAddress; //constructor, getter and setter}
解决方法:
I want to kNow how can I update some fIEld(not all) like method 1 where ID = 1
使用@query,就像在方法2中一样.
is too long query in my case because I have many fIEld in my entity
然后有更小的实体.或者,不要单独更新字段,而是与数据库进行更粗粒度的交互.
IOW,房间本身没有什么可以做你想要的.
总结以上是内存溢出为你收集整理的在android Room中更新实体的某些特定字段全部内容,希望文章能够帮你解决在android Room中更新实体的某些特定字段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)