A workaround could be to define a fetch group for every single field in the .jdo file, and then assembling the desired combination at runtime (I remember somebody having done that before).

Karan Malhi schrieb:
Sorry,

The code should read as:
Query query = pm.newQuery(Person.class);
FetchGroup criteria = new FetchGroup(Person.class);
// or I could also do
// FetchGroup criteria = new FetchGroup(query);

criteria.add("firstName").add("lastName");
query.getFetchPlan().clearGroups().addGroup(criteria);

On 10/14/07, Karan Malhi <karan.malhi@gmail.com> wrote:
  
For a PC object like

class Person{
    String firstName;
    String lastName;
    String address;
}

Currently I can set a named fetch-group in the .jdo file and add it in
the fetch plan. It would've been great if I would've been able to do
the following:

Query query = pm.newQuery(Person.class);
FetchGroup criteria = new FetchGroup();
criteria.add("firstName").add("lastName");
query.getFetchPlan().clearGroups().addGroup(fg);

Is there a way I can do something like the above (dynamic fetch
groups) with the current spec?
If not, do you think something like this is worth adding to the future
release of JDO?
Would be great to have something like this.

I know that I could project some fields using:
query.setResult("firstName, lastName");
query.setResultClass(Value.class);

public class Value{
   String firstName;
   String lastName;
}

But the problem here is that Value is not really a PC class.

Any help would be appreciated.

Thanks!

--
Karan Singh Malhi