Как установить значение автоинкремента для первичного ключа в ActiveAndroid

Я новичок в активном Android и выполнил операцию CRUD, но не могу установить автоинкремент для первичного ключа. Я уже пробовал код ниже, но он мне не нужен:

@Table(name = "Employee", id = "EmpId")

public class Employee extends Model {
    @Column(name = "empid")
    public long empid;
    @Column(name="name")
    public String name;
}

Здесь employee — имя моей таблицы. У меня есть два основных поля, одно из них empid и name. Мне нужно установить значение автоматического увеличения для первичного ключа. Как я могу это сделать?


person user3374231    schedule 04.04.2016    source источник


Ответы (1)


Чтобы выполнить обновление с уникальным столбцом в качестве псевдопервичного ключа, аннотация будет выглядеть примерно так:

  @Column(name = "empid", unique = true, onUniqueConflict = Column.ConflictAction.REPLACE)
        public long empid;

Как мы можем прочитать в документации:

Важно отметить, что ActiveAndroid создает поле идентификатора для ваших таблиц. Это поле является автоматически увеличивающимся первичным ключом.

Кроме того, если вы хотите создать собственный первичный ключ в своей модели, вы можете проверить решение, упомянутое в Проблема GitHub, связанная с ActiveAndroid, которая выглядит следующим образом:

 @Table(name = "Employee", id = "EmpId")

public class Employee extends Model {
    @Column(name = "id")
    public long id;
    @Column(name="name")
    public String name;
}

Затем поле id представляет собой настраиваемый первичный ключ, который будет автоматически увеличиваться.

person S M    schedule 04.04.2016