当我保存对象时,我无法从任务加载

时间:2014-11-18 03:29:35

标签: java google-app-engine google-cloud-datastore objectify

我正在使用Objectify来保存并加载到Datastore。

使用以下方法保存对象时

ObjectDto newObjDto = new ObjectDto(/*some data*/);
ofy().save().entity(newObjDto).now();
Long newID = postDto.getId(); //new saved ID, field marked as @Id

然后我立即使用newID作为任务参数启动任务,对新对象进行一些操作,但我无法从任务加载:

Long obj_id = Long.parseLong(p_request.getParameter("obj_id"));
//obj_id is valid id
ObjectDto objDto = ofy().load().type(ObjectDto.class).id(obj_id).now(); 
//but at this point  objDto = null   .... why?

我做错了什么?

需要等一段时间吗?

1 个答案:

答案 0 :(得分:2)

使用@Parent时,可以使用祖先获取对象。

https://code.google.com/p/objectify-appengine/wiki/AdvancedPatterns