我正在使用Spring + JPA
我有一个表,该表包含MIN_VALUE和MAX_VALUE。
然后我有一个输入值为VALUE的服务。知道该值是否在MAX和MIN值之间的最快/更好的方法是什么?
@Autowired
private ValuesRepository valuesRepository;
public void calculateValue(double value) {
List<Values> valuesList = valuesRepository.findAll();
// ??
}
编辑也许最好执行已返回一行的选择?
public interface ValuesRepository extends JpaRepository<Values, Long> {
public Values // ??
}
答案 0 :(得分:1)
findReferenceFieldBetween(value1,value2);
假设您的参考字段为值,然后
findByValueBetween(Your Max Value, Your Min Value)
有关更多详细信息,请参见Query with Jpa
答案 1 :(得分:0)
您可以通过使用JPA中的GreaterThan和LessThan来检查两个不同字段之间的值
不包括边界:-
public T findOneBySinceGreaterThanAndUntilLessThan(Long since, Long until);
包括边界:-
public T findOneBySinceGreaterThanEqualAndUntilLessThanEqual(Long since, Long until);
参考文档:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation