私はグーグルアプリエンジンで遊んでいて、JDOQLクエリで少し問題があります。
この例は、データストアからデータをフェッチする方法を示しています。
PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + Greeting.class.getName();
List<Greeting> greetings = (List<Greeting>) pm.newQuery(query).execute();
しかし、特定のユーザーに対してのみデータを取得したい場合はどうなりますか?
上記のリンクのページの下部には、次のようなものがあります。
select from guestbook.Greeting where author == 'alfred@example.com'
しかし、次のことを試してみても何もフェッチされません。
PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + Greeting.class.getName() + " where author == '" + user.GetEmail() + "'";
List<Greeting> greetings = (List<Greeting>) pm.newQuery(query).execute();
ここで、user
は次のような同じ例に示すようにフェッチされます。
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
これは一般的なタスクだと確信していますが、機能させることができません。助けていただければ幸いです。