Я хочу получить записи, для которых либо updated
Дата, либо created
Дата лежат между диапазонами дат.
Класс сущности выглядит следующим образом:
@Entity
public class Order {
@Id
@Setter(AccessLevel.NONE)
private String orderId;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_at", nullable = false)
private Date created;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated_at", nullable = false)
private Date updated;
}
Репозиторий на нем ниже:
public interface OrderRepository
extends PagingAndSortingRepository<Order, String>, QuerydslPredicateExecutor<Order> {
public Page<Order> findByCreatedBetweenOrUpdatedBetween(Date startDate, Date endDate,
Pageable pageRequest);
}
Проблема, когда я использую это, я получаю ошибку ниже:
Причина: java.lang.IllegalArgumentException: параметр недоступен
для части, обновленной МЕЖДУ (2): [IsBetween, Between] НИКОГДА. в
org.springframework.util.Assert.isTrue (Assert.java:116) в
org.springframework.data.jpa.repository.query.ParameterMetadataProvider.next (ParameterMetadataProvider.java:123)
в
org.springframework.data.jpa.repository.query.JpaQueryCreator $ PredicateBuilder.build (JpaQueryCreator.java:247)
в
org.springframework.data.jpa.repository.query.JpaQueryCreator.toPredicate (JpaQueryCreator.java:206)
в
org.springframework.data.jpa.repository.query.JpaQueryCreator.create (JpaQueryCreator.java:119)
в
org.springframework.data.jpa.repository.query.JpaQueryCreator.create (JpaQueryCreator.java:56)