나는 이런 식으로 객관화와 객체를 절약 해요 :Objectify가 캐시 된 값을 반환하지 않게하는 방법은 무엇입니까?
Thing th = new Thing();
th.identifier = thingId;
th.name = thingName;
th.json = thingData;
ofy().save().entity(thing);
pResponse.setStatus(200);
pResponse.getWriter().println("OK");
나는 값이 데이터베이스에 업데이트되었습니다 GAE 데이터 저장소 브라우저를 사용하여 확인합니다. 나는 국부적으로 달리고있다. 그러면 다음과 같은 모든 것을로드합니다.
Map<String, List<Thing>> responseJsonMap = new HashMap<String, List<Thing>>();
List<Thing> things = ofy().load().type(Thing.class).list();
responseJsonMap.put("things", things);
pResponse.setContentType("application/json");
try {
GSON.toJson(responseJsonMap, pResponse.getWriter());
} ...
내가 되 찾을 내용은 저장하기 전에 있던 데이터입니다. 엔티티에서 캐싱을 해제하고 ofy().clear()
을 호출했지만 둘 다 시도하지 않았습니다. 서버를 다시 시작하거나 오래 기다리면 저장된 데이터가 제공됩니다. 저장 후에도 .now()
을 추가하려고했지만 작업이 완료되었다는 것을 데이터 저장소에서 확인할 수 있으므로 필요하지 않습니다. 정말 방금 저장 한 데이터를로드하고 싶습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
내가 사용 Objectify4.0b1입니다. –