У меня есть весенний jpa-запрос, который должен извлечь две записи из таблицы. Здесь я не смог получить две записи при использовании предложения OR.
@Query("select i from Table i where i.id.company=?1 AND i.id.employee=?2 OR i.id.employee=?3")
List<Table> findByCompanyAndEmployee(@Param("company")String company,@Param("employee") String employee, @Param("employee1") String employee1);
Позже понял, что я не должен использовать предложение OR, поэтому проверил с предложением IN, но я все еще могу получить одну запись.f из запроса ниже:
@Query("select i from Table i where i.id.company=?1 AND i.id.employee IN ?2")
List<Table> findByCompanyAndEmployee(@Param("company")String company,@Param("employees") List<String> employees);
Может ли кто-нибудь помочь мне получить список записей в качестве набора результатов.
Это набор результатов, в котором я вызываю метод:
List<Table> empList= TableRepo.findByCompanyAndEmployee(SomeCompany, Arrays.asList(Employee1, Employee2));
Это должно вернуть что-то вроде:
COMPANY Employee Duties EmployeeId
SomeCompany Employee1 1,2,3,4 12345
SomeCompany Employee2 1,3,8,9 23281
Сущность таблицы:
@EmbeddedId
private ID id;
@Column(name="Employee")
private String Employee;
@Column(name ="Duties")
private String Duties;
@Column(name="EmployeeId")
private String EmployeeId;
И
@Embeddable
@Column(name = "COMPANY")
private String company;