2014-02-21 118 views
1

我搜查了很多,但我不明白如何解決我的問題。我有兩個類這樣的:ORMLite查詢國外收集

public class A 
{ 
    @DatabaseField(generatedId = true) 
    int mId; 

    @DatabaseField(canBeNull = false) 
    private String mName; 

    @ForeignCollectionField(eager = true) 
    private Collection<B> mB; 
} 

public class B 
{ 
    @DatabaseField(canBeNull = false) 
    private String mIng; 

    @DatabaseField(foreign = true) 
    private A mA; 
} 

我的目的是爲了填補對象A與對象B 的收集我該怎麼辦?我已經有一個管理數據庫的類中的兩個DAO對象。

回答

0

B類需要一個A型屬性,因爲它有一個父鍵。

完成之後,我的代碼,最簡單的方法是保存A的實例並再次選擇它,以便ORCite初始化foreignCollection。然後,只需調用add(new B()),B的新子行就會被保存。

1

您可以繼續這樣說:

1)使用的A

2)使用A DAO創建A創建B

代碼:

A a = new A(mid , mName); 

daoA.create(a); 

for (B b : a.mB) { 

    b = new B(mIng , a); 
    daoB.create(b); 
} 

希望這是有用的。 ..thks

+0

This是正確的答案。完全適用於1次調整:a.mB不是a.MA. –