}
public void testEagerOwnerOneToManyQuery() {
sql.clear();
OpenJPAEntityManager em = emf.createEntityManager();
OpenJPAQuery q = em.createQuery("SELECT o FROM BidiParent o "
+ "ORDER BY o.name ASC");
q.getFetchPlan().addField(BidiParent.class, "oneToManyChildren");
q.getFetchPlan().addField(BidiChild.class, "oneToManyParent");
List<BidiParent> res = (List<BidiParent>) q.getResultList();
assertEquals(2, res.size());
assertEquals(sql.toString(), 2, sql.size());
assertNotSQL(".* LEFT OUTER JOIN BidiParent .*");
for (int i = 0; i < res.size(); i++) {
assertEquals("parent" + (i + 1), res.get(i).getName());
assertEquals(3, res.get(i).getOneToManyChildren().size());
for (int j = 0; j < 3; j++) {
assertEquals("oneToManyChild" + (i + 1) + "::" + (j + 1),
res.get(i).getOneToManyChildren().get(j).getName());
assertEquals(res.get(i), res.get(i).getOneToManyChildren().
get(j).getOneToManyParent());
}
}
assertEquals(2, sql.size());
em.close();
}