为多个表创建SELECT查询

问题描述

我正在尝试创建一个通过自定义过滤器过滤产品的查询。

我需要通过其字段引用默认类别字段和该字段的值来获取商品。

产品具有其字段的列表(如果该字段是产品类别的默认字段,则将具有该产品正在实施的默认字段的linked_default_field_id)。

ProductCategory 有一个默认字段(此类别的默认字段,但没有product_id)的列表(表default_field product_category_id) default_field_id

CustomFilter 与字段(用于过滤的默认类别字段)具有一对一关系

字段具有值product_id(如果是类别的默认字段,则为空)。它还具有linked_default_field_id,它引用默认字段。

仅在使用默认类别字段时才需要过滤。

这是一个方法参数

final Long categoryId,final Boolean isAvailable,final Boolean isDeleted,// filter id <-> filter values
final Map<Long,List<String>> customFilterFieldValues,final Pageable pageable

我看到了创建此查询的3个步骤,但我不知道如何创建此查询。任何实现此SELECT查询的方法都需要jpql / postgres / spring data / creteria API。

  1. 从customFilters字段列表中进行过滤(使用customFilterFieldValues映射(键集))
  2. 对于每个具有上一步中的field_id作为linked_default_field_id且其值来自customFilterFieldValues映射的IN值的字段,请选择product_id,从Product中获取产品ID。
  3. 通过上一步中的ID获取产品。

如果需要,您可以询问我更多详细信息。我真的需要你的帮助。

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...