3

개체 "기본 키"(자동 증가 함께 긴 ID) 보냅니다 ajax 쿼리를 통해 GAE 데이터 저장소에서 레코드를 삭제하려고합니다.GAE : id로 개체화

현재, 나는이 일을 해요 (하드 키 = 6를 코딩) :

Objectify ofy = ObjectifyService.begin(); 
ofy.delete(Test1.class , 6); 

이 작동 : 그것은 키 = 6이있는 엔티티를 삭제합니다. 보안상의 이유로 다른 매개 변수 (fyi : "parent_user")가 필요하므로 소유자 만이 개체를 삭제할 수 있습니다. Objectify.delete()은 키보다 많은 매개 변수를 전달할 수 없습니다.

어떻게 해결할 수 있습니까? 내 선택적 매개 변수와 Objectify.get() + 키를 만드는 것은 http://objectify-appengine.googlecode.com/svn/trunk/javadoc/index.html에서 제시된

답변

3

... 최적화되지 않은 nubish &입니다) (다음 삭제에 전체 개체를 보내는 전체 개체를 얻을 수 있기 때문에, Objectify.delete()는 어떤을지지 않습니다 개체 키, ID 또는 문자열 이외의 추가 매개 변수

그래서 먼저 필터를 기반으로 개체를 가져 와서 삭제해야합니다. 그러나이를 최적화하려면 전체 객체가 아닌 객체의 키만 가져올 수 있습니다. 그런 다음 키를 기반으로 삭제합니다.

희망이 도움이됩니다.

+0

링크를 업데이트하십시오. –

0

데이터 모델을 사용하여 사용자가 개체의 데이터 스토어 조상이되도록 허용하는 경우 조상이 키의 일부이므로 쿼리를 제거 할 수 있습니다.

자주하는 일은 Objectify의 @Cached 주석을 사용하여 모든 사용자 (및 사용자에게 포함 된 권한)를 캐시하는 모든 요청이 시작될 때 사용자를 인증하는 것입니다.

그런 다음 대부분의 사용자 관련 데이터는 사용자를 조상으로 간주합니다. 이렇게하면 사용자가 리소스에 액세스하거나 리소스를 삭제하려고 할 때마다 실수로 사용자가 리소스를 사용하지 않는 개체에 대해 작업을 수행하도록 허용하지 않습니다. 올인 올 (all-in-all)은 신속하고 캐싱 할 수있는 것만 가져옵니다.