2012-09-26 42 views
1

我想使用ORM註解來應用我的對象關係,但似乎找不到使用ormLite註釋正確執行此操作的方法,因爲我無法使用jpa android,我想,但有人做了這個,如果沒有人可以告訴我如何導入jpa android上使用orm?如何在android上使用ormLite註釋引用異物

@DataBaseTable(tableName="some_object") 
public Class SomeObject{ 

    @DatabaseField(id=true) 
    private Long id; 

    @DatabaseField(foreign= true,foreignAutoCreate=true, foreignAutoRefresh=true) 
    private List<ReferencedObject> referencedObjects; 
} 

@DataBaseTable(tableName="referenced_object") 
public Class ReferencedObject{ 

    @DatabaseField(id=true) 
    private Long id; 
} 
+0

呃,這有什麼問題? – Gray

+0

如何在oneToOne或ManytoMany基礎上使用ormLite註釋正確創建對象關係,或OneToMany如何使用JPA –

+0

完成對象關係請_edit_您的問題以顯示此信息。由於現在的問題,它應該被刪除。 – Gray

回答

4

這聽起來像你想ForeignCollection,而不是你的List

下面的代碼:

@DataBaseTable(tableName="some_object") 
public Class SomeObject{ 

    @DatabaseField(id=true) 
    private Long id; 

    @ForeignCollectionField 
    private ForeignCollection< ReferencedObject> referencedObjects; 
} 

/////////////////////////// 

@DataBaseTable(tableName="referenced_object") 
public Class ReferencedObject{ 

    @DatabaseField(id=true) 
    private Long id; 

    @DatabaseField(foreign=true) 
    private SomeObject obj; 
} 
+0

謝謝@pjco的回答 –

+0

@ Gray鑑於你在'ReferencedObject'中引用了'SomeObject'來維護外鍵關係。在創建'ReferencedObject'時,你必須調用'SomeObject'上的setter來使用'SomeObject'數據來初始化它嗎? –

+0

是@HoraceHeaven。當創建'ReferencedObject'來建立連接時,'obj'字段需要被設置。 – Gray