2012-12-24 40 views
1

我與AppEngine上工作了Java和我有一個JDO實體定義如下:AppEngine上 - 在列表字段JDO查詢

Quote 
| id(Long) | quote(String) | author(String) | 

我意識到我的報價可能是多個作者的情況下,我想捕捉簡短的討論,所以我需要將作者從簡單的String更改爲List<String>

我似乎明白使用IN操作符,而不是標準的==,像這樣我現在可以通過單個(或多個)作者查詢:

Query q = _pm.newQuery(Quote.class); 
//q.setFilter("author == authorParam"); 
q.setFilter("author IN [authorParam]"); 
q.declareParameters("String authorParam"); 

將與Java SDK的這項工作?

回答

2

既然有「IN」是JDOQL關鍵字? JDOQL與Java股語法,所以使用{} collectionObj。載有(對象)就是關於這個問題的所有文件說,其中collectionObj可能是一個收集輸入參數

+0

感謝您的答覆 - 「因爲當」 < - - 我問,因爲我不知道:)我認爲它是q.setFilter(「author.contains(authorParam)」)?鏈接到文檔的相關部分將幫助很多 – JohnIdol

+0

http://www.datanucleus.org/products/accessplatform_3_1/jdo/jdoql_methods.html – DataNucleus

+0

感謝您的支持 – JohnIdol