如何解决为多个表创建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。
- 从customFilters字段列表中进行过滤(使用customFilterFieldValues映射(键集))
- 对于每个具有上一步中的field_id作为linked_default_field_id且其值来自customFilterFieldValues映射的IN值的字段,请选择product_id,从Product中获取产品ID。
- 通过上一步中的ID获取产品。
如果需要,您可以询问我更多详细信息。我真的需要你的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。