May*_*Man 4 sqlite ormlite foreign-collection
我想编写一个单元测试,基本上验证我添加到外部集合的对象实际上是在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);
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是创建一个Question实例添加一个Answer对象到集合并传递Question给我的DAO,它将持久化它.持久性在常规字段上工作正常,所以我知道那里没有问题.
如何添加Answer到集合中?当我创建Question它的答案时,集合为空.这是我必须保存新的Question然后检索它以便答案集合非空?或者,我是否设置了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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2860 次 |
| 最近记录: |