2012-07-15 2 views
4

기본적으로 외부 컬렉션에 추가하는 개체를 확인하는 단위 테스트를 작성하려면 DAO 저장시 개체를 검색 할 때 실제로 저장 및 검색됩니다. 여기에 내 엔터티가 있습니다.SQLite에서 ForeignCollections 사용

@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에 Question를 전달합니다. 지속성은 일반 필드에서 잘 작동하므로 문제가없는 것으로 알고 있습니다.

Answer을 컬렉션에 추가하려면 어떻게해야합니까? Question을 만들면 답변 모음이 null입니다. 내가 새 Question을 저장 한 다음 답변 컬렉션이 null이 아니도록 검색해야합니까? 또는 BaseCollection, LazyCollection 인스턴스에 대한 응답을 설정합니까?

답변

7

FAQ입니다. 이를 수행하는 올바른 방법은 Dao.getEmptyForeignCollection(...) 메서드를 사용하여 항목을 추가 할 수있는 컬렉션을 만드는 것입니다. 다음과 같이하십시오 :

+0

안녕 그레이, create (questions)를 호출하여 답변 컬렉션에 개체를 추가하거나 괜찮습니다. – Giuseppe

+0

@ 그레이 나는 위의 예제를 시도하고 Question.id는 데이터베이스에서 0 (영)입니다. 항목이 시작에서 ForeignCollections에 추가 된 항목을 올바르게 저장하는 것이 가능합니까? – alxsimo