2014-02-21 74 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. –