Google App Engine JAVA:如何获取具有特定参数的对象

时间:2011-02-13 17:55:33

标签: google-app-engine jpa

我有对象User具有以下属性:Id(长),Name(字符串),电子邮件(字符串),激活(bool)。我添加了所有正确的注释。

现在我的问题是,如果只知道名称,我如何使用EntityManager获取特定对象?

我知道我可以使用find方法查找具有特定Id的对象。但是如何使用它来获取名称属性设置为“使用R名称”的对象,例如。

谢谢!

伊凡

1 个答案:

答案 0 :(得分:1)

与任何JPA应用程序一样,您使用JPA查询。有关查询和JPQL的介绍,请参阅http://download.oracle.com/javaee/5/tutorial/doc/bnbqw.html#bnbrg

在您的情况下,代码如下所示:

public List<User> findUsersByName(String name) {
    List<User> users = entityManager.createQuery(
        "SELECT u FROM User u WHERE u.name = :userName")
        .setParameter("userName", name)
        .getResultList();
    return users;
}

请注意,Google App Engine不支持JPA支持的所有内容:有关详细信息,请参阅http://code.google.com/intl/fr/appengine/docs/java/datastore/jpa/overview.html#Unsupported_Features_of_JPA