greendao可以自动将dao模型中所做的更改添加到数据库中。

时间:2014-10-14 08:00:14

标签: greendao

我在下面的代码中添加了 ToMany 关系,我希望使用 storedao 在商店中插入10个商品 STRONG>。 GreenDao建议这样的事情。

//Create Store Entity
Entity store = schema.addEntity("Store");
store.addIntProperty("StoreId");
store.addStringProperty("StoreName");


//Create Item Entity
Entity item = schema.addEntity("StoreItem");
AssetKit.addIntProperty("ItemId");
AssetKit.addStringProperty("ItemName");

//Add ToMany property in store.
Property property = item.addLongProperty("storeId").getProperty();
store.addToMany(Item, property,"itemsList");

//greenDAO suggests:
storeDao = daoSession.getStoreDAO();
itemDao = daoSession.getItemDao();

Store store = storeDao.queryBuilder().limit(1).list();
List<Item> list = store.getItemList();

for(int i= 0 ; i < 10; i++)
{
    Item item = new Item(i, "name"+"i", store.storeId);
    daoSession.insert(item);
    list.insert(item);
}
  

上面的代码将在数据库中添加项目列表并临时创建列表。我不想向数据库添加10个项目。我需要storeDAO给我。有没有办法做到这一点。

//我需要一些列表

for(int i= 0 ; i < 10; i++)
{
    Item item = new Item(i, "name"+"i", i);
    list.insert(item);
}
storeDao.update(store);

storeDAO是否有办法将所有项目也插入到ITEMS表中。 请建议。

1 个答案:

答案 0 :(得分:0)

我从未使用它,但根据documentation,似乎有可能:

  

insertInTx

public void insertInTx(java.lang.Iterable<T> entities)
     

使用事务在数据库中插入给定实体。   参数:entities - 要插入的实体。