例如,您的实体是:
@Entity(tableName = "articles")
public final class Article {
@PrimaryKey
public long serverId;
public String title;
public String url;
public boolean isSubscribed;
}
您可以在DAO中编写此方法:
@Query("INSERT OR REPLACE INTO articles (serverId, title, url, isSubscribed) VALUES (:id, :title, :url,
COALESCE((SELECT isSubscribed FROM articles WHERE id = :id), 0));")
void insertOrUpdateArticle(long id, String title, String url);
另一种选择 – 在您的存储库中编写此逻辑并使用两个简单的操作:选择和更新