如何在房间中将列标记为不可更新

时间:2019-07-16 10:17:21

标签: android android-room readonly-attribute

如何在房间中将字段标记为不可更新

在我的产品表中,我有条形码和单位ID,我不希望在更新单位ID时更新条形码

字段看起来像这样

@SerializedName("barcode")
@Expose
private String barcode;

@SerializedName("unitid")
@Expose
private int unitId;

2 个答案:

答案 0 :(得分:0)

仅在unitid变量中设置值,而不在实体中的条形码变量中设置值。

答案 1 :(得分:0)

我认为房间里没有这样的东西

您如何使用查询来实现它,请使用类似的

 @Query("Update yourtablename set unitId=:unitId Where primaryKey=:primaryKey")
 fun updateBarCode(unitId:Int,primaryKey:Int)

您还可以在字段上使用@Ignore批注来完全使用“忽略”字段

房间将忽略该字段或方法。