Hi,
I'm reading doc on fetch plan and fetch group (I discover that feature).
What I want to do is to dynamically specify the attribute (atomic or
not) for a query in order to get back a List<A> with partial values
rather than a List<Object[]>.
I feel it is possible reading the doc, but there are still some "black
hole" in my mind.
Questions from the doc example :
OpenJPAEntityManager kem = OpenJPAPersistence.cast(em);
// Question 1 : does it mean that EntityManager was in fact an
instance of OpenJPAEntityManager ?
kem.getFetchPlan().addField(Magazine.class, "publisher");
// Question 2 : OK, here it works because publisher is a "relational
"attribute that was set to lazy with annotation.
// So that call make it eager dynamically but what about "non
relational" @Basic attribute ? They can't be lazy or eager.
// So, how do I dynamically add/remove @Basic attributes from being
retreive using fetch plan ? Is it possible ?
//
// Do you think I could (should ?) remove all fields from fetch plan
and then add one by one so I won't have to deal with eager or lazy
annotation ?
Magazine mag = em.find(Magazine.class, magId);
// Question 3 : will all that work with a query that get back several
Magazine ?
// something like that for example :
final String ql = "SELECT m FROM Magazine m";
final Query query = em.createQuery(ql);
final List<Magazine> requestResult = query.getResultList();