Spring DATA JPA Between 和 IsBetween 关键字
Spring DATA JPA Between and IsBetween keywords
如何为以下查询获取 Spring DATA JPA 方法(如 findBy
...):
Select * from USER where '2016-02-15' between VALID_FROM and VALID_TO;
你应该这样做
SELECT * FROM users u WHERE e.REFERENCE_FIELD BETWEEN startDate AND endDate
你的代码不是很清楚,不知道2016-02-15是什么,如果是你的字段名或者是一个值,如果是一个值而且你用的是between,你必须指定一个范围,以及要比较的字段。
编辑
如果你想使用 spring 数据 jpa 就这样做
findReferenceFieldBetween(value1,value2);
检查参考。 here
如果你想在结果中包含两个边界日期,你可以在下面的 Spring 数据 jpa
中使用
@Query(value = "{'field' : {$gte : ?0, $lte : ?1}}", fields="{ 'field' : 1}")
List<DTO> findByFieldBetweenQuery(String first, String second);
如果需要所有字段,请删除字段部分。希望对大家有帮助。
在Spring boot: 2.1.6,你可以像下面这样使用:
List<OrderSummaryEntity> findByCreateTimestampBetween(String fromDate, String toDate);
只是为了确认它是如何在内部工作的,如果您将 spring.jpa.properties.hibernate.show_sql=true
属性 放入 applocation.properties 文件中,您可能会看到如下查询。内部只有 BETWEEN 查询。
Hibernate: select order0_.order_id as order_id1_8_,
order0_.create_timestamp as create_t2_8_,
order0_.inventory_at_order as inventor3_8_,
order0_.last_updated_by as last_upd4_8_,
order0_.location_id as location5_8_,
...
...
...
from order_summary order0_
where order0_.create_timestamp between ? and ?
SELECT * FROM users WHERE timeStamp BETWEEN 'fromDate' AND 'toDate';
您也可以使用下面的JPA方法来获取数据,就像上面的查询一样。
findByTimeStampGreaterThanEqualAndTimeStampLessThanEqual(fromDate,toDate);
如何为以下查询获取 Spring DATA JPA 方法(如 findBy
...):
Select * from USER where '2016-02-15' between VALID_FROM and VALID_TO;
你应该这样做
SELECT * FROM users u WHERE e.REFERENCE_FIELD BETWEEN startDate AND endDate
你的代码不是很清楚,不知道2016-02-15是什么,如果是你的字段名或者是一个值,如果是一个值而且你用的是between,你必须指定一个范围,以及要比较的字段。
编辑
如果你想使用 spring 数据 jpa 就这样做
findReferenceFieldBetween(value1,value2);
检查参考。 here
如果你想在结果中包含两个边界日期,你可以在下面的 Spring 数据 jpa
中使用@Query(value = "{'field' : {$gte : ?0, $lte : ?1}}", fields="{ 'field' : 1}")
List<DTO> findByFieldBetweenQuery(String first, String second);
如果需要所有字段,请删除字段部分。希望对大家有帮助。
在Spring boot: 2.1.6,你可以像下面这样使用:
List<OrderSummaryEntity> findByCreateTimestampBetween(String fromDate, String toDate);
只是为了确认它是如何在内部工作的,如果您将 spring.jpa.properties.hibernate.show_sql=true
属性 放入 applocation.properties 文件中,您可能会看到如下查询。内部只有 BETWEEN 查询。
Hibernate: select order0_.order_id as order_id1_8_,
order0_.create_timestamp as create_t2_8_,
order0_.inventory_at_order as inventor3_8_,
order0_.last_updated_by as last_upd4_8_,
order0_.location_id as location5_8_,
...
...
...
from order_summary order0_
where order0_.create_timestamp between ? and ?
SELECT * FROM users WHERE timeStamp BETWEEN 'fromDate' AND 'toDate';
您也可以使用下面的JPA方法来获取数据,就像上面的查询一样。
findByTimeStampGreaterThanEqualAndTimeStampLessThanEqual(fromDate,toDate);