Mysql Spring数据JPA存储库按条件排序
我有一个产品实体,其中包含一些属性,我需要根据一些标准获得与给定产品最接近的产品,这些标准是类别、成品和生产公司。 我写了这个查询Mysql Spring数据JPA存储库按条件排序,mysql,spring,hibernate,spring-data-jpa,Mysql,Spring,Hibernate,Spring Data Jpa,我有一个产品实体,其中包含一些属性,我需要根据一些标准获得与给定产品最接近的产品,这些标准是类别、成品和生产公司。 我写了这个查询 @Query("Select pr from Product pr ORDER BY (CASE WHEN (pr.category = :p.category) THEN 1 WHEN (pr.finish = :p.finish) THEN 2 WHEN (pr.productionCompany = :p.productionCompany) THEN 3 E
@Query("Select pr from Product pr ORDER BY (CASE WHEN (pr.category = :p.category) THEN 1 WHEN (pr.finish = :p.finish) THEN 2 WHEN (pr.productionCompany = :p.productionCompany) THEN 3 ELSE 4 ) LIMIT 5")
List<Product> findRecommendedProducts(@Param("p")Product p);
非常感谢您的帮助。我想您需要在查询中添加其他4个结尾。我假设这是在Oracle上运行的?实际上我使用的是mysql,但错误已经消失,现在我有另一个异常验证失败,用于方法public abstract java.util.List com的查询。
antlr.MismatchedTokenException: expecting "end", found ')'