That feels dirty. Using a Left Join inside the repository eager loads it for you. So needs another method in the repository or add a optional parameter? It's probably will remain slow, but at least eager loaded. But the next alternative is a ResultSet with specific fields.