2014-11-07 2 views
0

app 엔진 백엔드가있는 Android 앱을 개발 중입니다. 원격 서버에서 백엔드 애플리케이션을 실행하고 JPQL 쿼리를 사용하여 엔티티를 쿼리 할 때 결과가 반환되지 않습니다.JPA 쿼리가 원격 서버에서 실행될 때 결과를 반환하지 않습니다.

queryString= "SELECT i FROM Item AS i WHERE i.locationId= :locId ORDER BY i.itemQuantity"; 
    Query q = mgr.createQuery(queryString); 
    q.setParameter("locId", location); 

그러나 같은 쿼리는 로컬 개발 서버에서 실행될 때 결과를 반환합니다.

또 다른 관찰 : 매개 변수를 제거하고 ORDER BY 문을 사용하여 쿼리를 단순하게 유지하면 dev 서버와 원격 실행에서 결과를 모두 반환합니다.

답변

2

복잡한 검색어의 경우 define an explicit composite index이 필요합니다.

로컬 dev 서버는 프로덕션 서버에서 복합 인덱스를 명시 적으로 정의해야하는 반면에이 기능을 즉시 빌드합니다.

간단한 쿼리의 경우. ORDER BY를 사용하는 경우에만 복합 인덱스가 필요하지 않으므로 예상 결과를 얻을 수 있습니다.

관련 문제