我正在使用 google app engine 并且在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();
whereuser
被提取,如同一示例中所示:
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
我确信这是一项常见任务,但我无法让它工作 - 任何帮助表示赞赏!