我们计划使用 Spring Data Azure Cosmos DB v3。我看到我们扩展了 CosmosRepository 接口并实现了我们的存储库并应用了 @Query 注释
@Query(value = "select * from c where c.firstName = @firstName and c.lastName = @lastName")
List<User> getUsersByTitleAndValue(@Param("firstName") int firstName, @Param("lastName") String lastName);
但是我们需要动态生成@Query中使用的sql
E.g
String sql = "Select * from some table t"
if(someCondition){
sql.append(" where t.name="+ nameVar);
}
如何在 Spring Data Azure Cosmos DB v3 中实现这一点?
你可以这样做:-
@Query(value = "select * from c where (@firstName=null or c.firstName=@firstName) and (@lastName=null or c.lastName=@lastName)")
List<User> getUsersByFirstNameAndLastName(@Param("firstName") String firstName, @Param("lastName") String lastName);
这样它就会忽略null参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)