java如何在Spring JPA Repository类中的多个产品模式中执行“findByCategory”?
我不熟悉Java Spring框架,我知道这个标题听起来太具体了,但是这个问题的答案对于任何类似的多对多模式都很有用。我找了很多这个答案,但一个也没有找到请:在否决投票前阅读全文或与其他问题相关
我有实体Product
和Category
,它们与many-to-many
相关并在run-time
生成
在我的REST
应用程序中,有三个重要的end-points
使用了该模式:
/category
以菜单形式列出所有类别李>/products?description=
在描述字段中列出按术语过滤的产品李>/category/{id}/products
以列出属于此类别的产品李>
我很难理解最后一个问题,因为有人告诉我应该使用@Query
注释来制作join
和where
来完成工作。但我相信Spring JPA工程师不能将这项如此普通的任务置于JPA方式之外
第二个端点在其存储库中有此方法:
public Page<Produto> findByDescriptionIgnoreCaseContainingOrderByDescriptionAsc(String description, Pageable pageOptions);
我被告知的最后一个终点应该是:
@Query("select * from products p left join p.category c where c = ?1")
public List<Produto> findByOrderByDescriptionAsc(Lond idCategory)
我是否可以作为listByCategory(a way to get only one category)
执行此搜索,而不必使用@Query
注释?如果是,如何进行
# 1 楼答案
如果你想得到所有的产品类别
或者 如果你只想得到一张唱片