Я все еще не могу работать с ключами/идентификаторами GAE. Я продолжаю получать ошибку: ни один объект не был найден, соответствуя ключу: Key (Medewerker (5201690726760448)). Сущности существуют в хранилище данных, я проверил это несколько раз.Извлечение объекта пользователя по ID
Я пытаюсь просто получить объект пользователя с определенным ID. В моем сервлете у меня есть следующий код:
Long userId = Long.parseLong(req.getParameter("user"));
User user = userDao.getUser(userId);
Приведенный выше код вызывает ошибку. В userDaoOfyImpl.java У меня есть следующий метод «GetUser»:
public Gebruiker getGebruiker(Long id) {
Gebruiker result = null;
Gebruiker leerling = (Gebruiker) ofy.get(Leerling.class, id);
Gebruiker medewerker = (Gebruiker) ofy.get(Medewerker.class, id);
Gebruiker stagebedrijf = (Gebruiker)ofy.get(StageBedrijf.class, id);
//Gebruiker instantie returnen
if(leerling != null) {
result = leerling;
} else if(medewerker != null) {
result = medewerker;
} else if(stagebedrijf != null) {
result = stagebedrijf;
}
return result;
}
Переменные нидерландский, но я думаю, что вы, ребята, знаете эту идею. Вышеупомянутый метод выполняет поиск в разных классах, ища пользователя, который соответствует идентификатору, и затем возвращает его.
Проблема в том, что я получаю ошибку, показанную выше, и я действительно расстраиваюсь, что я делаю неправильно? Это метод или способ использования идентификаторов или ...?
Заранее благодарен!
Mateusz благодарит вас за ответ, я думаю, что это работает, но это оставляет мне следующую проблему. Я получаю исключение «leerling - это не поддерживаемый тип свойства», когда я пытаюсь добавить объект-объект в objectify: CompetentieLijst cL = new CompetentieLijst (leerling, today, false); ofy.put (cL); – JasonK
проверьте [this] (http://stackoverflow.com/questions/5428571/objectify-appengine-embedded-class-not-a-supported-property-type). Если это не поможет, пожалуйста, расскажите подробнее. – Mateusz