/** @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)); }
/** @see DATAJPA-527 */ @Test public void testExistsWithEmbeddedId() { EmbeddedIdExampleDepartment dep1 = new EmbeddedIdExampleDepartment(); dep1.setDepartmentId(1L); dep1.setName("Dep1"); EmbeddedIdExampleEmployeePK key = new EmbeddedIdExampleEmployeePK(); key.setDepartmentId(1L); key.setEmployeeId(1L); EmbeddedIdExampleEmployee emp = new EmbeddedIdExampleEmployee(); emp.setDepartment(dep1); emp.setEmployeePk(key); emp = employeeRepositoryWithEmbeddedId.save(emp); key.setDepartmentId(emp.getDepartment().getDepartmentId()); key.setEmployeeId(emp.getEmployeePk().getEmployeeId()); assertThat(employeeRepositoryWithEmbeddedId.exists(key), is(true)); }
/** * @see DATAJPA-269 * @see Final JPA 2.0 Specification 2.4.1.3 Derived Identities Example 3 */ @Test public void shouldSupportSavingEntitiesWithCompositeKeyClassesWithEmbeddedIdsAndDerivedIdentities() { EmbeddedIdExampleDepartment dep = new EmbeddedIdExampleDepartment(); dep.setName("TestDepartment"); dep.setDepartmentId(-1L); EmbeddedIdExampleEmployee emp = new EmbeddedIdExampleEmployee(); emp.setDepartment(dep); emp.setEmployeePk(new EmbeddedIdExampleEmployeePK()); emp = employeeRepositoryWithEmbeddedId.save(emp); EmbeddedIdExampleEmployeePK key = new EmbeddedIdExampleEmployeePK(); key.setDepartmentId(emp.getDepartment().getDepartmentId()); key.setEmployeeId(emp.getEmployeePk().getEmployeeId()); EmbeddedIdExampleEmployee persistedEmp = employeeRepositoryWithEmbeddedId.findOne(key); assertThat(persistedEmp, is(notNullValue())); assertThat(persistedEmp.getDepartment(), is(notNullValue())); assertThat(persistedEmp.getDepartment().getName(), is(dep.getName())); }