I saw an Example of Querydsl but I didn't understand what is QEmployee in that

```
QEmployee employee = QEmployee.employee;
QEmployee e = new QEmployee("e");
query.from(employee)
    .where(employee.weeklyhours.gt(
        new HibernateSubQuery().from(employee.department.employees, e)
       .where(e.manager.eq(employee.manager))
       .unique(e.weeklyhours.avg())
)).list(employee)

```

Someone please explain about '**Q**'