2 つのforeignCollections を持つオブジェクトを永続化したいと考えています。しかし、オブジェクトを照会しようとすると、foreignId は常に null です。私はすでにこの回答を読んでいますが、それは本当に役に立ちません: ORMLiteのコレクション
VOPerception perception = new VOPerception();
perception.setOrientation(daoOrientation.createIfNotExists(
orientationLocalizer.getCurrentOrientation()));
ForeignCollection<VOAccessPoint> fAp =
daoPerception.getEmptyForeignCollection("accessPoints");
fAp.addAll(wifiLocalizer.getCurrentScanResultMap());
perception.setAccessPoints(fAp);
daoPerception.create(perception);
List<VOPerception> list = daoPerception.queryForAll();
ここでデータは正しく保存されますが、VOAccessPoint オブジェクトには親の VOPerception オブジェクトとのリンクがありません。
ここに私の2つのクラスがあります:
public class VOPerception {
@DatabaseField(generatedId=true)
private int per_id;
@ForeignCollectionField(eager=true)
ForeignCollection<VOAccessPoint> accessPoints;
...
}
public class VOAccessPoint{
@DatabaseField(generatedId=true)
private int ap_id;
@DatabaseField(foreign=true,columnName="apForeignPerception_id")
private VOPerception apForeignPerception;
...
}