1
저는 JDO를 처음 접했고 복잡한 객체를 사용하여 필터링 할 수 있는지 묻고 싶었습니다.JDO 쿼리 : 복잡한 개체를 사용하여 필터링 할 수 있습니까?
Query q = pm.newQuery(MyClass.class, "field1 < value");
q.declareParameters("int value");
List results = q.execute(205);
Iterator iter = results.iterator();
을하지만 다음과 같은 상황을 가정 해 : 나는 당신이 이런 식으로 뭔가를 할 수 있다는 사실을 알고
@PersistenceCapable(...)
class ParentObj{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
String id;
...
@Persistent
ChildObj child;
}
@PersistenceCapable(...)
class ChildObj{
@Persistent
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
String id;
...
}
가 지금은 일부 ChildObj
을 준 모든 ParentObj
개체를 필터링 할 생각입니다. 나는 가지고있다
public List<ParentObj> getAllParentObjBy(ChildObj child){
PersistenceManager pm = ...
Query query = pm.newQuery(ParentObj.class, "child = childVal");
query.declareParameters("ChildObj childVal");
Collection result = (Collection)query.execute(child);
//???
return result;
}
이것은 매우 의사 코드이지만, 나는 그 아이디어가 분명하길 바란다. 어떻게 든 첫 번째 예제에서와 같이 Query 객체를 사용할 수 있지만이 경우 child
인스턴스를 사용할 수 있습니까?
감사합니다. 모든 작업이 제대로되었지만 문제가 있다고 생각합니다. http://code.google.com/appengine/docs/java/datastore/usingjdo.html#Unsupported_Features_of_JDO 조인은 지원되지 않습니다. – Juri
어떤 childObject의 필드에서 그것을 필터링하고 싶다면 - Query query = pm.newQuery (ParentObj.class, "child.id == childId"); query.declareParameters ("String childId"); 나는이 일에 매달렸다. –