问题描述
我正在尝试创建一个通过自定义过滤器过滤产品的查询。
我需要通过其字段引用默认类别字段和该字段的值来获取商品。
产品具有其字段的列表(如果该字段是产品类别的默认字段,则将具有该产品正在实施的默认字段的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。
- 从customFilters字段列表中进行过滤(使用customFilterFieldValues映射(键集))
- 对于每个具有上一步中的field_id作为linked_default_field_id且其值来自customFilterFieldValues映射的IN值的字段,请选择product_id,从Product中获取产品ID。
- 通过上一步中的ID获取产品。
如果需要,您可以询问我更多详细信息。我真的需要你的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)