У меня есть совместная таблица с именем EmployeeTask, которая объединяет сотрудников и задачи.
Связь: Сотрудник (ОДИН)----(МНОГИЕ) EmployeeTask (МНОГИЕ)----(ОДИН) Задача.
Итак, теперь у меня есть сотрудник, и я использую его идентификатор сотрудника, чтобы найти все employeeTask, которым был назначен этот сотрудник, а затем найти все Task соответствует каждой employeeTask в таблице.
Затем я помещаю все Task, которые у меня есть в базе данных, в другую таблицу.
Наконец, Я хочу узнать список задач, которые не были назначены этому сотруднику.
Инструменты, которые я использую, — это критерии гибернации, а язык — JAVA.
Кто-нибудь может помочь, пожалуйста.
---РЕДАКТИРОВАТЬ---
Этот фрагмент кода даст мне все задачи, которые у меня есть для данного сотрудника:
ArrayList<EmployeeTask> employeeTasks = EmployeeTaskDAO.getEmployeeTasksByEmployee(employee);
JSONArray tasksArr = new JSONArray();
for(EmployeeTask et : employeeTasks){
Task t = TaskDAO.getTaskById(et.getTask().getTaskId());
tasksArr.add(t.toJson());
}
Метод getEmployeeTasksByEmployee
public static ArrayList<EmployeeTask> getEmployeeTasksByEmployee(Employee employee){
ArrayList<EmployeeTask> employeeTasks = new ArrayList<EmployeeTask>();
if(employee != null){
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(EmployeeTask.class);
detachedCriteria.add(Restrictions.eq(Key.EMPLOYEE, employee));
List<Object> list = HibernateUtil.detachedCriteriaReturnList(detachedCriteria);
for(Object o : list){
employeeTasks.add((EmployeeTask) o);
}
}
return employeeTasks;
}
Способ получения всех задач очень похож на приведенный выше пример кода.
Теперь я буквально теряюсь в поисках остальных задач, которые еще не были назначены этому сотруднику. Как мне подойти? Любая помощь? Спасибо!