Я только начал читать об ORMLite, так как мне интересно использовать его в приложении для Android.
Мне бы хотелось иметь представление о том, как / должны сохраняться объектные отношения в этой среде.
Например, если у меня есть эти классы:
@DatabaseTable(tableName = "bill_items")
class BillItem{...}
@DatabaseTable(tableName = "bills")
class Bill {
@DatabaseField String x;
List<BillItem> billItems = new ArrayList<BillItem>;
public void setItems(List<BillItem> billItems) {
this.billItems = billItems;
}
}
Насколько я понимаю, рекомендуемый способ обновления объекта Bill
будет выглядеть примерно так:
Dao<Bill, String> billDao = DaoManager.createDao(connectionSource, Bill.class);
Bill bill = billDao.queryForId(...);
List<BillItem> billItems = ...; //some new list of items
bill.setX("some new value for X");
bill.setItems(billItems);
//saving explicitly the billItems before saving the bill. Is this correct ?
Dao<BillItem, String> billItemDao = DaoManager.createDao(connectionSource, BillItem.class);
for(BillItem billItem : billItems)
billItemDao.update(billItem);
billDao.update(bill);
Это рекомендуемый способ обновления объекта, отношения которого изменились?(в частности, отношения с набором постоянных объектов, как в коде выше).Каким-то образом у меня сложилось впечатление, что это должен быть лучший способ сделать это.
Кроме того, если я хочу использовать эту платформу, я должен добавить в классы моей модели как атрибуты домена, так и атрибуты, связанные с постоянством (например,, внешние и первичные ключи?).Хотите знать, есть ли способ избежать этого смешивания проблем.
Спасибо за любую помощь.