如何在条件生成器中获取带有映射列的 id

How to fetch an id with mapping column in criteria builder

我有一个 One table,它是关联名称,table 有 3 列,分别是 id、settings、creation。 设置与 Set 映射,创建与 Entity class 中的创建映射。 集合包含 set_id、set_edit 并创建包含 create_id 和 create_name.

当我输入 sql 查询时,它会很好地执行结果。 "SELECT count(create_id) FROM association where set_id= X'143d3149791c4dd7b4ae08a7074c69d2'"

但是如何在休眠中使用条件生成器。

实际上我想要的意思是,传递一个参数 set_id 来搜索数据库并获得关联 table 的链接 create_id 计数,但它是映射到创意上的如何使用 spring boot

在条件生成器中获取 create_id
    Session session = sessionFactory.getCurrentSession();
    CriteriaBuilder builder = session.getCriteriaBuilder();
    CriteriaQuery<AdGroupCreativeAssociation> query = builder.createQuery(AdGroupCreativeAssociation.class);
    Root<AdGroupCreativeAssociation> root = query.from(AdGroupCreativeAssociation.class);
    query.select(root.get("id"));
    TypedQuery<AdGroupCreativeAssociation> q = session.createQuery(query);
    List<AdGroupCreativeAssociation> list =  q.getResultList().stream().filter(
            i -> ((i.getAdsets().getAdsetId().compareTo(adsetId) == 0)
                    && (i.getCreative().getCreativeid()
                            .compareTo(creativeId) == 0)))
            .collect(Collectors.toList());
    List<UUID> resultList = list.stream().map(i -> i.getId()).collect(Collectors.toList());
    return resultList;