因为时间有限先记录一下简单的几个写法,今天在项目中尝试一下,后续补充。
需要了解更多详细信息可以到官网查看:http://www.querydsl.com/static/querydsl/3.4.3/reference/html_single/#d0e593
主要疑惑的是子查询先记录一下:
example:
QDepartment department = QDepartment.department;
QDepartment d = new QDepartment("d");
query.from(department)
.where(department.employees.size().eq(
new JPASubQuery().from(d).unique(d.employees.size().max())
)).list(department);
QEmployee employee = QEmployee.employee;
QEmployee e = new QEmployee("e");
query.from(employee)
.where(employee.weeklyhours.gt(
new JPASubQuery().from(employee.department.employees, e)
.where(e.manager.eq(employee.manager))
.unique(e.weeklyhours.avg())
)).list(employee);