错误:找不到字段的设置器 - 房间

Posted

技术标签:

【中文标题】错误:找不到字段的设置器 - 房间【英文标题】:error: Cannot find setter for field - Room 【发布时间】:2020-10-17 05:28:45 【问题描述】:

我真的不知道为什么会出现这个错误。代码看起来很简单。

@Entity(indices = @Index("clientLocalId"))
.
.

private @PrimaryKey String clientLocalId;


public String getClientLocalId() 
    return clientLocalId;


public void setClientLocalId(long idInvoice, String receipt) 
    this.clientLocalId = String.valueOf(idInvoice) + " " + receipt;

我试图在 client 中更改名称,重新启动并清除缓存,同样的错误。

错误:找不到字段的设置器。 私人@PrimaryKey String clientLocalId; ^

任何想法都值得赞赏。提前致谢!

【问题讨论】:

【参考方案1】:

这是因为clientLocalId的第二个参数receipt, 删除它或添加另一个 setter 方法, 我建议您在插入数据库之前将收据添加到实体类之外的clientLocalId

【讨论】:

【参考方案2】:

Room 正在寻找一个只接受单个 String 值的 setter。你的方法有两个。

将其更改为以下并使用另一种方法来创建您的串联 id。

public void setClientLocalId(String id) 
    this.clientLocalId = id;

【讨论】:

以上是关于错误:找不到字段的设置器 - 房间的主要内容,如果未能解决你的问题,请参考以下文章