Glassfish Eclipselink加入获取提示不工作

Glassfish Eclipselink加入获取提示不工作,glassfish,eclipselink,hint,Glassfish,Eclipselink,Hint,我真的很难得到eclipselink.join-fetch提示在glassfish中工作 我有一个客户端对象,它包含任务对象的集合,任务对象有一个工作周期对象的集合 我的代码如下所示: Query query = entityManager.createQuery("select client from Client client left join fetch client.tasks"); //Set hint to allow nested fetch joins query.set

我真的很难得到eclipselink.join-fetch提示在glassfish中工作

我有一个客户端对象,它包含任务对象的集合,任务对象有一个工作周期对象的集合

我的代码如下所示:

Query query = entityManager.createQuery("select client from Client client left join fetch client.tasks");   
//Set hint to allow nested fetch joins
query.setHint("eclipselink.join-fetch","client.tasks.workPeriods");
List<Client> clients = query.getResultList();
显然,没有执行连接获取的第三层

还有其他人对此有问题吗。。。还是只有我:-(


任何帮助或提示(并非双关语)都将不胜感激。

好的,经过8个小时的挫折之后,我已经找到了问题的症结所在

Glassfish V2没有使用EclipseLink作为持久性提供程序,它使用Toplink essentials。不幸的是,Toplink essentials没有提供连接获取提示(我被下面的链接弄糊涂了,这让我认为它提供了:虽然这显然是一个功能请求,而不是一个功能)

因此,似乎我试图做的是不可能的,如果我想在glassfish中执行多级即时获取,我必须获得EntityManager委托并直接使用toplink essentials表达式

SELECT t0.ID, t0.NAME, t1.ID, t1.DESCRIPTION FROM CLIENT t0 LEFT OUTER JOIN (CLIENT_TASK t2 JOIN TASK t1 ON (t1.ID = t2.tasks_ID)) ON (t2.Client_ID = t0.ID)