Querydsl JPA is not a JPA implementation, so if you use Querydsl with JPA, there is no direct control of the generated SQL. If you want to use Querydsl with better control of the used SQL then use Querydsl SQL instead.
Often unnecessary joins in Hibernate are caused by implicit joins (property traversal) on the HQL level. That might also apply to your case.