|
Home > Archive > Apache JDO Project > October 2007 > fetch group question
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
fetch group question
|
|
| Karan Malhi 2007-10-15, 1:11 am |
| 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
| |
| Karan Malhi 2007-10-15, 1:11 am |
| 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
>
--
Karan Singh Malhi
| |
| Matthew Adams 2007-10-15, 1:11 pm |
| Hi Karan,
Currently, there is no standardized way to dynamically define fetch
groups. We'll look into adding this to the specification. You might
consider requesting this of your current JDO vendor.
Thanks for your feedback!
Sincerely,
Matthew
On Oct 14, 2007, at 7:43 PM, Karan Malhi wrote:
> 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:
>
>
> --
> Karan Singh Malhi
| |
| Joerg von Frantzius 2007-10-15, 1:11 pm |
| 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:
>
>
>
>
|
|
|
|
|