I'm not that experienced, and maybe it's not the safest solution, but have you tried running the query so that it returns an Object[] instead? It could help avoid the N+1 issue, since e.subEntity would be loaded in the same query.
Object[]
e.subEntity