作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 android 应用程序中使用房间数据库。
在向我添加的用户中插入数据时:
// Not working onConflict = OnConflictStrategy.IGNORE/REPLACE
@Insert(onConflict = OnConflictStrategy.IGNORE)
void insertUser(User users);
但它不起作用。我也尝试了 onConflictStrategy.REPLACE 但它仍然无法正常工作。
用户类(有Getter和Setter):
@Entity
public class User {
@PrimaryKey(autoGenerate = true)
@NonNull
@ColumnInfo(name = "id")
private Integer id;
@ColumnInfo(name = "user_name")
@NonNull
private String name;
@ColumnInfo(name = "email")
private String email;
public User(@NonNull String name, String email) {
this.name = name;
this.email = email;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return Objects.equals(name, user.name) &&
Objects.equals(email, user.email);
}
@Override
public int hashCode() {
return Objects.hash(name, email);
}
}
我也查看了其他问题并尝试了他们的解决方案,但仍然面临问题。
最佳答案
您需要添加唯一索引:
@Entity(indices = {@Index(value = {"user_name", "email"}, unique = true)})
public class User {
...
}
关于Android Room onConflict = OnConflictStrategy.IGNORE 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56256981/
我在 Android Room 中有一个 DAO,插入了 OnConflictStrategy.REPLACE,有一个 boolean 字段 downloaded,如果用户下载了这个对象,它就会变为
我在我的 android 应用程序中使用房间数据库。 在向我添加的用户中插入数据时: // Not working onConflict = OnConflictStrategy.IGNORE/RE
我正在处理 Room 数据库并尝试插入项目列表(例如,包含作者姓名和我的案例中的引用的引用列表)。 以下是我正在使用的代码: // view model BaseApp.daoInstance?.ap
OnConflictStrategy.ABORT 和有什么区别和 OnConflictStrategy.IGNORE在房间数据库中? ABORT : 冲突时回滚事务 IGNORE : 保留现有行 我知
我是一名优秀的程序员,十分优秀!