2014-06-22 4 views
1

에서 ORMLite와 지속 ArrayList를 ORMLite 와 클래스 Goods을 유지하기 위해 노력하고, 여기 componentList을 유지하는 방법을 모르겠어요. 비슷한 질문을 Persisting a Collection class with ORMLite in android 발견했지만 문제를 해결하는 방법을 가리키고 있지 않습니다. 안드로이드

public class Goods extends Object implements Serializable 
{ 
    private static final long serialVersionUID = -7560219283718464481L; 
... 
    public ArrayList<String> componentList; 

    public String getComponentList(){ 
     return componentList; 
    } 
    public void setComponentList(ArrayList<String> componentList){ 
     this.componentList = componentList; 
    } 
... 

} 
+0

더 쉬운 해결책은 http://stackoverflow.com/questions/18441595/how-to-store-the-ar-ylist-in-ormlite-database/31598771#31598771을 참조하십시오. –

답변

2

나는 안드로이드에 ORMLite와 컬렉션 클래스를 지속하기 비슷한 질문을 발견하지만, 문제를 해결하는 방법을 가리 키지 않는 것 같다.

불행히도 ORMLite가 관련 항목 모음을 저장해야하는 유일한 방법입니다. 귀하의 경우에는 당신과 같이있는 Component 클래스가 필요합니다

공용 클래스 구성 요소 { @DatabaseField (참 = 외국) 개인 제품 제품; ...

그리고

은 다음 Goods 클래스는 다음과 같습니다

public class Goods { 
    @ForeignCollectionField 
    private Collection<Component> components; 
    ... 

Goods 테이블의 항목에 구성 요소를 지정하려면, 당신은 그것을 Component 항목을 생성하고 goods 필드를 설정하고, dao.create(...) 것이다.

자세한 내용을 제공 할 수있는 foreign-collection docs을 살펴보십시오. 견적을 제출하십시오 :

해외 컬렉션을 사용하면 계정 테이블에 주문 모음을 추가 할 수 있습니다. 계정 개체가 쿼리에 의해 반환되거나 DAO에 의해 새로 고쳐질 때마다 주문 테이블에 대한 별도의 쿼리가 만들어지고 계정에 주문 컬렉션이 설정됩니다. 컬렉션의 모든 주문에는 해당 계정과 일치하는 해당 이물이 있습니다. 예를 들어 위의 예에서

public class Account { 
    … 
    @ForeignCollectionField(eager = false) 
    ForeignCollection<Order> orders; 
    … 
} 

의 @ForeignCollectionField 주석은 주문 필드가 계정과 일치하는 주문의 집합이라고 표시합니다. 필드 형식의 주문은 ForeignCollection 또는 Collection 중 하나 여야합니다. 지원하는 방법이 많을수록 훨씬 더 무겁기 때문에 다른 컬렉션도 지원되지 않습니다.