java - 使用索引参数检索本机查询 JPA 中的记录范围
问题描述
JPA 存储库中的查询应检索 2 个日期/时间戳之间的汽车注册列表。我尝试了 2 个实现,它检索记录,但不在 2 个时间戳设置的范围内。这是使用索引参数和between
/或比较运算符检索记录的正确方法吗?
1.使用between
public interface CarRepository extends JpaRepository<Car, String> {
@Query(nativeQuery = true,
value = "select * from car_records where carRegTs between ?1 and ?2")
}
List<Car> retrieveCars(Long startRegTs, Long endRegTs);
2. 使用>=
和 <=
运算符
public interface CarRepository extends JpaRepository<Car, String> {
@Query(nativeQuery = true,
value = "select * from car_records" where carRegTs >= ?1 and carRegTs <= ?2")
}
List<Car> retrieveCars(Long startRegTs, Long endRegTs);
解决方案
您可以使用 BETWEEN 尝试此查询
value = "select * from car_records" where carRegTs between 'first_date' and `'second_date')`
推荐阅读
- docker - 未调用 Docker 容器内的 Web Api Endpoint
- laravel - Laravel 关系“有时”返回 null
- c - GSL 实际上是在使用 Atlas 吗?
- javascript - FunctionConstructor.prototype
- android - 更改 Switch 的背景颜色
- lightningchart - 创建chartXY对象后如何设置主题?
- javascript - 为什么这个基于承诺的代码返回未定义?
- java - 如何打印出正确的输出?
- android - 分配 OutOfMemoryError 失败
- c++ - 如何从我的结构中对两个 cv::Mat 使用 malloc ?