2014-10-13 7 views
0

속성을 사용하고 키를 사용하지 않고 gae 데이터 스토어에서 엔티티를 검색 할 수 있습니까?데이터 저장소의 속성을 사용하여 엔티티를 검색하는 방법

아래 구문을 사용하여 키가있는 엔티티를 검색 할 수 있습니다.

quote = mgr.getObjectById(Students.class, id); 

키 대신 속성을 사용할 수있는 대안이 있습니까? 또는 요구 사항을 충족시키는 다른 방법을 제안하십시오.

감사합니다. Karthick.

답변

0

물론 가능합니다. 엔티티의 키가 SQL 행의 기본 키와 같다고 생각하십시오. (그러나 유추를 너무 멀리하지 마십시오. 요점은 기본 키입니다.이 두 데이터 스토리지 시스템의 구현은 매우 다르며 이것을 명심하지 않으면 사람들이 곤경에 빠지게됩니다.)

게시물이 참조하는 mgr의 종류에 따라 JDO 쿼리에 대해 읽으려면 here (JDO)을, here (JPA)을 찾아 JPA 쿼리에 대해 읽어야합니다. JDO의 경우 다음과 같이하면됩니다.

// begin building a new query on the Cat-kind entities (given a properly annotated 
// entity model class "Cat" somewhere in your code) 
Query q = pm.newQuery(Cat.class); 

// set filter on species property to == param 
q.setFilter("species == speciesParam"); 

// set ordering for query results by age property descending 
q.setOrdering("age desc"); 

// declare the parameters for this query (format is "<Type> <name>") 
// as referenced above in filter statement 
q.declareParameters("String speciesParam"); 

// run the query 
List<Cat> results = (List<Cat>) q.execute ("siamese"); 

JPA의 경우 JPQL 문자열을 사용하여 쿼리를 실행합니다.

관련 문제