如何使用Criteria Api

时间:2019-02-28 08:39:45

标签: hibernate hibernate-mapping hibernate-criteria

我遇到的情况是,我要根据不同的条件在两个查询中获取数据并进行合并。

现在,我需要根据某些条件从给定的两个查询的并集结果中获取数据。 第一个查询:

Criteria criteria = irisSessionFactory.getSession().createCriteria(Task.class,"tasks").add(
                    Restrictions.and(Restrictions.isNull("claimedby"),Restrictions.eq("projects.projectname", projectName)));
                    criteria.add(Restrictions.eq("status", "Check"));
                    criteria.addOrder(Order.desc("disableCommit")).addOrder(Order.desc("taskid"));


            List<Task> tasks = criteria.list();

第二个查询

    Criteria criteria2 = irisSessionFactory.getSession().createCriteria(Task.class,"tasks").add(
            Restrictions.and(Restrictions.isNull("claimedby"),Restrictions.eq("projects.projectname", projectName)));
            criteria2.add(Restrictions.ne("status", "Check"));
            criteria2.addOrder(Order.asc("taskid"));
            criteria2.addOrder(Order.asc("status"));

            List<Task> tasks2 = criteria2.list();

合并结果

tasks.addAll(tasks2);

我想在这两个条件的UNION上创建条件。 我该如何进行??

0 个答案:

没有答案