在hql

时间:2017-02-23 06:53:26

标签: hibernate java-8 sql-order-by hql

我编写了一个查询模型及其链接产品的查询。现在,当我使用“order by model.name,p.number”语句对数据进行排序时,模型将被正确排序。但是产品的分类没有发生。我该如何解决这个问题,即模型将被排序,模型中的产品也会被排序。

Session session = sharedData.getFactory().openSession();

        Query query = session.createQuery("select distinct model FROM Model model join fetch model.products p "
                + "join p.itemsInProducts iip " + "join iip.company iipc " + "join iip.item i "
                + "join model.company modelc " + "Join p.company pc " + "where "
                + "model.active = '1' and modelc.companyId = '" + companyId +"' " + "and p.active = '1' and pc.companyId = '" + companyId +"' "
                + "and i.id = '"+ itemID + "' " + "and iip.active = '1' and iipc.companyId = '" + companyId +"' order by model.name, p.number");

        List<Model> models = query.list();

        session.close();    

模型实体具有包含产品的Set products变量。

此外,仅在p.number上排序时没有任何反应。产品对象的顺序是随机排序的。

1 个答案:

答案 0 :(得分:0)

不是在sql中对集合进行排序,而是使用Java comarator。

{{1}}