* @see DATAJPA-497
*/
@Test
public void sortByEmbeddedPkFieldInCompositePkWithEmbeddedIdInQueryDsl() {
EmbeddedIdExampleDepartment dep1 = new EmbeddedIdExampleDepartment();
dep1.setDepartmentId(1L);
dep1.setName("Dep1");
EmbeddedIdExampleDepartment dep2 = new EmbeddedIdExampleDepartment();
dep2.setDepartmentId(2L);
dep2.setName("Dep2");
EmbeddedIdExampleEmployee emp1 = new EmbeddedIdExampleEmployee();
emp1.setEmployeePk(new EmbeddedIdExampleEmployeePK(3L, null));
emp1.setDepartment(dep2);
emp1 = employeeRepositoryWithEmbeddedId.save(emp1);
EmbeddedIdExampleEmployee emp2 = new EmbeddedIdExampleEmployee();
emp2.setEmployeePk(new EmbeddedIdExampleEmployeePK(2L, null));
emp2.setDepartment(dep1);
emp2 = employeeRepositoryWithEmbeddedId.save(emp2);
EmbeddedIdExampleEmployee emp3 = new EmbeddedIdExampleEmployee();
emp3.setEmployeePk(new EmbeddedIdExampleEmployeePK(1L, null));
emp3.setDepartment(dep2);
emp3 = employeeRepositoryWithEmbeddedId.save(emp3);
QEmbeddedIdExampleEmployee emp = QEmbeddedIdExampleEmployee.embeddedIdExampleEmployee;
List<EmbeddedIdExampleEmployee> result = employeeRepositoryWithEmbeddedId.findAll(
emp.employeePk.departmentId.eq(dep2.getDepartmentId()), emp.employeePk.employeeId.asc());
assertThat(result, is(notNullValue()));
assertThat(result, hasSize(2));
assertThat(result.get(0), is(emp3));
assertThat(result.get(1), is(emp1));