【发布时间】:2015-10-20 01:21:23
【问题描述】:
我有一个名为 EmployeeTask 的联合表,由 Employee 和 Task 连接。
关系:员工 (ONE)----(MANY) EmployeeTask (MANY)----(ONE) 任务。
所以现在我有一个员工,我使用他的员工 ID 来查找该员工已分配到的所有 employeeTask,并且随后找到所有Task对应每个employeeTask的表。
接下来,我将数据库中的所有 Task 放入另一个表中。
最后,我想找出尚未分配给该员工的任务列表。
我使用的工具是hibernate criteria,语言是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;
}
获取所有Task的方式与上面的代码示例非常相似。
现在我真的迷失了寻找尚未分配给该员工的其余任务的方式。我将如何接近?有什么帮助吗?谢谢!
【问题讨论】:
-
你能显示你试过的代码吗?
-
好吧,等一下
-
简单的不等于会有帮助吗? ne info here
-
你也可以分享你的模型吗?因为我认为可以通过使用一个标准来获得您想要的东西。
-
@B.K.嗨,对不起,你指的是哪个型号。
标签: java hibernate hibernate-criteria