Google App Egine JPA: как получить объект с определенными параметрами - PullRequest
0 голосов
/ 13 февраля 2011

У меня есть объект User со следующими атрибутами: Id (long), Name (строка), e-mail (string), активированный (bool).Я добавил все правильные аннотации.

Теперь у меня вопрос, как мне использовать EntityManager для выборки конкретного объекта, если известно только имя?

Я знаю, что могу использовать поискспособ найти объект с определенным идентификатором.Но как мне использовать его для выборки объекта со свойством name, установленным, например, на «Use R Name».

Спасибо!

Yvan

1 Ответ

1 голос
/ 13 февраля 2011

Как и в любом приложении JPA, вы используете запросы JPA. См. http://download.oracle.com/javaee/5/tutorial/doc/bnbqw.html#bnbrg для ознакомления с запросами и JPQL.

В вашем случае код будет выглядеть так:

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;
}

Обратите внимание, что все, что поддерживается JPA, не поддерживается в Google App Engine: подробности см. http://code.google.com/intl/fr/appengine/docs/java/datastore/jpa/overview.html#Unsupported_Features_of_JPA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...