Greendao 3, создать таблицу пользователей без повторяющихся имен пользователей

Я задаю этот вопрос после того, как часами искал решение этой проблемы и не нашел его. Я создал базу данных из трех столбцов: имя пользователя, пароль и возраст. Я могу назначать новых пользователей и обновлять их, но хочу, чтобы было невозможно вставить два одинаковых имени пользователя. Я знаю, как сделать это в sqlite, но в greendao это просто не подходит для меня. благодарю вас.

вот мой UsersClass:

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

    @Id(autoincrement = true)
    private Long id;

    @NotNull
    private String userName;

    @NotNull
    private String password;

    @NotNull
    private int age;
}

1 ответ

Решение

@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)
    },
    ...
)
Другие вопросы по тегам