【发布时间】:2015-09-26 04:46:56
【问题描述】:
我正在使用 Ormlite,并且我有一个具有外来字段的对象。
上述对象也有它的字段的getter 和setter。
public class Object {
@DatabaseField(foreign = true)
private Object2 foreignField;
Object() {
}
public Object2 getForeignField(){ return foreignField; }
public void setForeignField(Object2 foreignField){
this.foreignField = foreignField;
}
}
所以我假设当我打电话时:
Object testObject;
Object2 testObject2;
testObject.setForeignField(testObject2);
getDao.update(testObject);
它会自动用新的foreignfield的id更新数据库中的testObject,但是我的表没有更新。
我做错了什么?
编辑:
通过阅读有关 Ormlite 的实际文档,update(Object) 方法不会更新任何外部对象或外部集合。
http://ormlite.com/javadoc/ormlite-core/com/j256/ormlite/dao/Dao.html#update(T)
NOTE: This will not save changes made to foreign objects or to foreign collections.
现在正因为如此,我该如何更新桌子上的外来对象?
【问题讨论】: