У меня есть совместная таблица с именем EmployeeTask join Employee и Task.Сравните две таблицы из тех же объектов и выберите разные
Отношения: Employee (ONE) ---- (MANY) EmployeeTask (MANY) ---- (ONE) Задача.
Так что теперь у меня есть сотрудник, и я использую его идентификатор сотрудника найти все employeeTask этот сотрудник был назначен, а затем найти все Task соответствуют каждому employeeTask в стол.
Далее, я получаю все Задача я есть в базе данных в другую таблицу.
И наконец, Я хочу найти список задач, которые не были назначены этому сотруднику.
Инструменты, которые я использую это критерии Hibernate и язык JAVA
Может кто-нибудь помочь, пожалуйста.
--- EDIT ---
Этот фрагмент кода даст мне все Task У меня есть для данного сотрудника:
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;
}
Способ getti Все задачи полностью аналогичны приведенному выше образцу кода.
Теперь я буквально потерян, чтобы найти остальные задачи, которые еще не были назначены этому сотруднику. Как я подойду? Любая помощь? Благодаря!
Не могли бы вы показать код, который вы пробовали? – Amogh
хорошо, дайте мне второй – Ray
Простенько _не равносильно_ помочь? [ne info here] (http://stackoverflow.com/questions/4774631/hibernate-not-equal-example-criteria) –