如何在条件生成器中获取带有映射列的 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;
我有一个 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;