2017-03-13 86 views
0

我有一個包含一些屬性的產品實體,我需要得到最接近的產品,以給定的產品取決於一些標準,標準是類別,光潔度和生產的公司。 我寫此查詢春數據倉庫JPA ORDER BY條件

@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); 

但是,這一直給我下面的異常

antlr.MismatchedTokenException: expecting "end", found ')' 

任何幫助表示讚賞。

回答

0

我認爲你需要添加ELSE 4 END到您的查詢。我認爲這是在Oracle上運行?

+0

其實我使用MySQL,但錯誤已經一去不復返了,現在我有其他異常 驗證失敗的查詢方法公共抽象的java.util.List融爲一體。 –