У меня есть класс Employee
, для которого определен фильтр.
Фильтр фильтрует всех сотрудников с зарплатой менее 1000.
У меня также есть класс EmployeePhoneNumber
. У сотрудника может быть много EmployeePhoneNumber
с, но каждый EmployeePhoneNumber
подключен к одному сотруднику. (Многие к одному)
Когда я включаю фильтр и запрос для сотрудников:
SELECT employee from Employee employee
.
Фильтр работает нормально, и возвращаются только соответствующие сотрудники с зарплатой более 1000.
Когда я запрашиваю внутреннее объединение между сотрудником и сотрудниками:
SELECT employeePhoneNumber.id, employee.id from EmployeePhoneNumber employeePhoneNumber inner join employeePhoneNumber.employee employee
Фильтр не работает, и я получаю телефонные номера от сотрудников с зарплатой менее 1000.
Как я могу решить эту проблему (все еще используя фильтры и объединения)? Я знаю, что могу сделать это, добавив подзапрос к своему запросу (проверка того, что сотрудник находится в списке сотрудников, добавит необходимый фильтр), но это менее эффективно.