列出findAll(@Nullable规范规范)返回与规范匹配的所有值。
示例:如果在规范中我有一个参数= 3.0,则findAll返回所有与之匹配的值。 因此它返回了例如543.0,但我只想要3.0
您知道一个仅向我返回准确值的函数吗?
答案 0 :(得分:0)
您需要致电:
List findBySpecification(@Nullable Specification spec)
您的数据库表如何?
答案 1 :(得分:0)
如果我正确理解了您想要实现的目标,则不需要Specification
。
假设您要基于名为YourObject
的字段的值来获取price
的列表,只需在存储库接口中添加一个方法:
public interface YourObjectRepository extends JpaRepository<YourObject, Short>, JpaSpecificationExecutor<YourObject> {
public List<YourObject> findByPrice(Double price);
}
Spring会根据需要自动实现原型:获取所有具有等于参数中给定值的YourObject
的价格。
答案 2 :(得分:0)
经过一些重新设置后,我没有发现任何预定义的方法。 所以我用@Query
@Query(Select t FROM Table t Where (t.price= :priceValue or null= :priceValue) and ( t.location= :locationValue or null= :locationValue)
List<Entity> getAllWithExactValue(@Param("priceValue") String priceValue, @Param("locationValue") String locationValue);
这使您具有如下端点:
localhost:8080/param?locationValue=ClujNapoca&priceValue=1234
或
localhost:8080/param?priceValue=1234
或
localhost:8080/param?locationValue=ClujNapoca
作为回报,我们将只收到具有我们要求的确切值的变量