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)
},
...
)