Ошибка отношения пользовательского первичного ключа ActiveAndroid

Помогите мне, пожалуйста,

Мне нужно пользовательское имя первичного ключа и отношение.

Мои модели:

@Table(name = "Items", id = "ItemId")
public class Item extends Model {

@Column(name = "Name")
public String name;

@Column(name = "Category")
public Category category;

public Item() {
    super();
}

public Item(String name, Category category) {
    super();
    this.name = name;
    this.category = category;
}

}
@Table(name = "Categories")
public class Category extends Model {

@Column(name = "Name")
public String name;

public List<Item> items() {
    return getMany(Item.class, "Category");
}

}

и мой код:

List items = new Select().from(Item.class).execute();
Toast.makeText(this, items.get(0).name, Toast.LENGTH_LONG).show();

Результат: Ошибка: недопустимый индекс 0, размер равен 0

Я изменил имя первичного ключа модели и базы данных с ItemId на Id:

@Table(name = "Items")

Результат: ОК

Как решить эту проблему?

https://github.com/pardom/ActiveAndroid/issues/380


person mg in dg    schedule 18.06.2015    source источник


Ответы (1)


я нашел проблему

отредактируйте Model.java в строке 260 com.activeandroid.

            if (entity == null) {
                TableInfo tableInfo = Cache.getTableInfo(entityType);
                entity = new Select().from(entityType)
                        .where(tableInfo.getIdName() + "=?", entityId).executeSingle();
            }
person mg in dg    schedule 20.06.2015