2014-03-19 61 views
0

我ORMLite db對象,它有一個領域:ORMLite國外收集爲了

@ForeignCollectionField(eager = true) 
public ForeignCollection<BlockMod> blocks; 

現在,當我想要得到當前對象塊的所有收藏我打電話:

public BlockMod[] getBlocks(){ 
    return blocks.toArray((BlockMod[])java.lang.reflect.Array.newInstance(BlockMod.class, blocks.size())); 
} 

我的問題是如何通過自定義排序獲得這個集合? 我知道我可以迭代這些數據並按照我的意願訂購它,但這是最好的解決方案嗎?

是ORMLite在請求ForeignCollection時執行數據庫請求還是在初始化主對象時收集?

+0

但是否ForeignCollection級支持訂購的物品?也許它會更容易排序時創建數組..編輯:我檢查EagerForeignCollection類,它內部使用列表,所以可能是 – JIV

+0

我真的不知道太多。我假設它正在提出單獨的請求來獲得ForeignCollection,如果是的話,我應該可以修改它。我總是需要按一個特定字段排序。必須有更優雅的解決方案,然後只是排序數組。 – somerandomusername

+0

好吧,HQL支持條款'排序',所以我想ORMLite也可以。你嘗試過嗎? – JIV

回答

2

可能是,這個代碼 @ForeignCollectionField(渴望=假,orderColumnName =「名稱」)
幫你自定義排序爲外國收集