以下のサンプルは、データストアにあるUserテーブルのunivIDプロパティが"1234567"という文字列であるデータを検索する例です。下記のサンプル内で一部全角の「<>」を用いてますが、半角に直して下さい。
JDOQLのフル記述の場合
//JDOのマネージャーのインスタンス呼び出し
PersistenceManager pm = PMF.get().getPersistenceManager();
String query ="select from org.ochilab.server.user.User where univID=='1234567'";
List<org.ochilab.server.user.user>result=(List<org.ochilab.server.user.user>pm.newQuery(query).execute();
JDOQLのところは以下のように書くことも可能です。
パラメータ変数で記述する場合
Query query = pm.newQuery(User.class,"univID == univIDParam");
query.declareParameters("String univIDParam");
List<org.ochilab.server.user.user>result= (List<org.ochilab.server.user.user>query.execute("1234567");
個人的には後者がよいかと思われます。なお、条件の指定には、下記の方法でもOKです。
Query query = pm.newQuery(Users.class);
query.setFilter("univID == univIDParam");
query.declareParameters("String univIDParam");
条件を複数にする場合は、上記、setFilter()の条件を&&で結び、declareParameters()ならびに、query.execute()の各引数を複数にすればOKらしいです。