2013-05-16 83 views
1

我正在使用JDO來查詢我的數據庫。實體類看起來有點像這樣:JDO使用列表查詢列表

class Entity 
{ 
    // other members of the class 
    List<String> stuff; 

    // members and methods 
} 

我寫對一個標準的接口的Web服務。該界面允許用戶根據一組過濾器搜索實體對象。其中之一是可能的東西列表。爲了更清楚,用戶可以提供一個字符串列表,我們將其稱爲stuffQuery。用戶可以要求服務返回stuff列表包含stuffQuery列表中至少一個元素的所有實體對象。我無法在JDO中找到寫這個查詢的方法。實際上,它將返回所有實體對象,其中stuff和stuffQuery不爲空。

我現在唯一的想法是通過基本上循環stuffQuery來構建一個過濾器,將stuff.contains(stuffQuery.get(idx))過濾器附加到過濾器字符串中,用於JDO查詢。這很醜陋。我不喜歡它。如果有更優雅的解決方案,我將不勝感激。

環境:Java,Spring框架,Datanucleus

回答

1

我以前遇到過類似的情況。我沒有真正解決這個問題,但我以不同的方式查詢了我的對象。我建議循環查看你的對象的字符串列表。