2
我仍然无法使用GAE的keys/id。我不断收到错误信息:找不到与该键匹配的实体:键(Medewerker(5201690726760448))。这些实体存在于数据存储中,我多次检查过。通过ID检索用户对象
我想只是简单地得到一个用户对象与一个特定的ID。在我的servlet中,我有以下代码:
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;
}
的变量是荷兰人,但我想你们知道的想法。上面的方法在不同的类中搜索,寻找匹配ID的用户,然后返回它。
问题是我得到上面显示的错误,我真的很沮丧,我做错了什么家伙?它是使用ID还是...的方法或方式?
在此先感谢!
Mateusz感谢您的回答,我认为它的作品,但它留给我以下问题。当我尝试添加创建的对象时,我得到一个异常“leerling不是受支持的属性类型”,但我试图添加对象: 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