加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在SQLite中使用ForeignCollections

发布时间:2020-12-12 18:55:33 所属栏目:百科 来源:网络整理
导读:我想编写一个单元测试,基本上验证我添加到外部集合的对象实际上是在DAO保存检索对象时正确保存和检索的 这是我的实体. @DatabaseTablepublic class Question implements Question,Serializable { @DatabaseField private String questionText; @ForeignColle
我想编写一个单元测试,基本上验证我添加到外部集合的对象实际上是在DAO保存检索对象时正确保存和检索的
这是我的实体.

@DatabaseTable
public class Question implements Question,Serializable {

    @DatabaseField
    private String questionText;

    @ForeignCollectionField
    private ForeignCollection<Answer> answers;

    public void addAnswer(Answer answer) {
        answers.add(answer);
    }

我想要做的是创建一个Question实例,将一个Answer对象添加到集合中,并将问题传递给我的DAO,这将保留它.持久性在常规字段上工作正常,所以我知道那里没有问题.

如何在集合中添加答案?当我创建问题时,它的答案集合为空.这是我必须保存新问题,然后检索它以使答案集合非空?或者,我是否设置了BaseCollection,LazyCollection实例的答案?

解决方法

这是一个FAQ.正确的方法是使用 Dao.getEmptyForeignCollection(…)方法创建可以添加项目的集合.就像是:

Question question = new Question();
query.answers = questionDao.getEmptyForeignCollection("answers");
Answer answer1 = new Answer();
query.answers.add(answer1);
// this can come before the question.answers.add()
questionDao.create(question);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读