0

我在寻找这个问题的解决方案几个小时后问了这个问题,但没有找到。我已经建立了一个包含三列的数据库:用户名、密码和年龄。我能够插入新用户并更新他们,但我希望插入两个相同的用户名是不可能的。我知道如何在 sqlite 中做到这一点,但在 greendao 中它不适合我。谢谢你。

这是我的用户类:

@Entity(nameInDb = "users")
public class Users{

    @Id(autoincrement = true)
    private Long id;

    @NotNull
    private String userName;

    @NotNull
    private String password;

    @NotNull
    private int age;
}
4

1 回答 1

0

@Unique注释应该适合您。

@Entity(nameInDb = "users")
public class Users{

    @Id(autoincrement = true)
    private Long id;

    @Unique
    private String userName;

    @NotNull
    private String password;

    @NotNull
    private int age;
}

如果您需要进一步自定义,可以将选项添加到 @Entity 注释

@Entity(
    ...
    // Define indexes spanning multiple columns here.
    indexes = {
            @Index(value = "name DESC", unique = true)
    },
    ...
)
于 2018-03-07T10:49:28.373 回答