2016-01-08 72 views
0

我想查詢是從列表如何查詢給定對象列表中的對象?

比方說我有一個包含對象A,C,F和數據庫包含的對象A,B,C,d一個列表L類似的物體上, E,...,Z

如何查詢ormlite中的對象只有列表L中的對象?

編輯:的對象是含有各種字段和一個整數id字段作爲其主鍵

回答

1

如何查詢ormlite中的對象只有列表L中的對象?

如果我理解這個問題,查找對象集合的最佳方法是創建這些對象的ID的集合,然後使用WHERE IN子句。

List<Integer> idList = new ArrayList<Integer>(); 
for (MyClass instance : L) { 
    idList.add(L.getId()); 
} 
List<MyClass> results = dao.queryBuilder().where().in("id", idList).query(); 

你可以從你的MyClass選擇的任何領域使用這一指標,但id字段將有一個索引,它是一個容易的選擇來查找。

希望這會有所幫助。

+0

我使用相同的東西..有沒有比這更優化的解決方案,在ormlite本身實現的東西? –

+0

對不起,不過@GamatheGreat。 – Gray

1

使用where in子句

queryBuilder().where().in("field", L).query(); 

其中LList<String>類型的自定義類。

+0

這是否只適用於本機數據類型? –

+0

我不確定。我總是使用它與列表。 –