我有一个用例来搜索所有城市的给定stateId,如果存在名称,则在查询中包含该名称,如果存在描述,则将其作为查询的一部分包括在内。 stateID是必需的,但如果未传递名称或描述,则查询不会过滤掉结果。我写了jpql
如下所示,但我需要在名称和描述之间有OR
条件。目前结果是AND和名称和描述,但
此外,描述不应与传递的确切字符串匹配,但应与LIKE
匹配字符串
@Query("select c from City c where (c.stateID=:stateId and ((:name is null or c.name=:name) and (:description is null or c.description=:description)))")
我在上面的查询中做错了。