在Hibernate中将多个结果结合在一起

吉米·D

我正在用Hibernate编写具有多个联接的查询。现在,我需要查询使用某些项目的所有模型和相关产品。

我创建了hql查询,它看起来像:

"FROM Model m inner join fetch m.products p inner join p.itemsInProducts iip inner join iip.item i where i.number = '" + itemID + "' and m.active = '1' and p.active = '1' and iip.active = '1'"

它给了我一些结果。但是我有多个相同但具有不同产品的Model对象。是否有某种方法可以组合所有Model对象并将产品放置在同一Model中?

我在Model类中的变量如下所示:

public class Model implements java.io.Serializable {

    private long id;
    private ItemClass itemClass;
    private OrderProcessorCode orderProcessorCode;
    private String name;
    private boolean active;
    private long companyId;
    @JsonManagedReference
    private Set products = new HashSet(0);
    private Set itemsConsumedPerModels = new HashSet(0);
    private Set itemsInModels = new HashSet(0);

和产品:

public class Product implements java.io.Serializable {

    private long id;
    private ItemClass itemClass;
    private ItemType itemType;
    private OrderProcessorCode orderProcessorCode;
    private String number;
    private String description;
    private boolean baseProduct;
    private boolean otmProduct;
    private boolean active;
    private long companyId;
    private Set itemsInProducts = new HashSet(0);
    @JsonBackReference(value = "product-models")
    private Set models = new HashSet(0);
    private Set optionsPerProductsForProductId = new HashSet(0);
    private Set optionsPerProductsForOptionId = new HashSet(0);
    private Set productionOrders = new HashSet(0);
吉米·D

更改了我的查询和代码。现在,所有查询的产品都会自动添加到模型中。

Query query = session.createQuery("FROM Model m inner join fetch m.products p inner join p.itemsInProducts iip inner join iip.item i where i.number = '" + itemID +"'  and m.active = '1' and p.active = '1' and iip.active = '1'");

        ArrayList<Object[]> items = (ArrayList<Object[]>) query.list();

        session.close();

        for (Object[] objects : items) {
            Model tempModel = (Model) objects[0];

            if(!allmodels.contains(tempModel))
            {
                allmodels.add(tempModel);
            }
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在PostgreSQL中将CTE与IN结合在一起

如何在jq中将更新与函数结果结合在一起?

一个将单个结果与多个其他结果结合在一起的数据块

如何在Hibernate Search中将范围查询与关键字查询结合在一起?

如何在SQL中将另一个条件与多个内部联接结合在一起?

如何在Spark中将STRUCT的所有元素与1000多个元素结合在一起

如何在Kotlin中将多个Upper Bounds语法与委托语法结合在一起

将多个文本框上的类似验证与不同的验证结果文本结合在一起

SQL将多个表与多个参数结合在一起

如何在Kusto中将控制命令与参数化查询结合在一起?

如何在disp方法中将变量与字符串结合在一起?

如何在熊猫中将布尔索引器与多索引结合在一起?

如何在Java android中将两个函数结合在一起

我如何在Python中将综合与ordereddict结合在一起?

在R中将几个数据框结合在一起

如何在Django中将2个模型字段结合在一起?

MySQL将两个结果结合在一起?

将两个输入字段的结果与JavaScript结合在一起?

将吸气剂结合在一起

将多个标签与Google表格中的常用表格结合在一起

在MongoDB中将一个或多个$ match组合在一起

在switch语句中将多个案例组合在一起

如何在 BigQuery 中将多个表粘合在一起?

在r循环中将多个csv文件组合在一起

Reactor spring mongodb 存储库将多个结果组合在一起

如何在带有R的for循环中将“ paste”命令与“ ifelse”命令结合在一起?

如何在TypeScript中将有区别的联合与函数重载结合在一起

在Python中将两个时间序列与datetime索引的不同元素结合在一起

在此Java代码中将Java中的两个方法结合在一起