Как я могу использовать два параметра даты для двух разных без повторного использования весенних сапог? - PullRequest
0 голосов
/ 02 октября 2018

Я новичок в весенних ботинках, и я пытаюсь использовать его для запроса, я буду использовать 2 мгновенных параметра и использовать этот момент для сравнения их с двумя моментами моего объекта (DateBegin и StartedWork).Код ниже работает, но для этого мне нужно отправить два раза мою первую дату и последнюю дату.

@Transactional(readOnly = true)
Collection<MyClass> findByDateBeginBetweenOrStartedWorkBetween (Instant firstDate, Instant lastDate, Instant firstDateAgain, Instant lastDateAgain);

Я не могу найти пример такой ситуации.Я пытаюсь что-то вроде этого:

@Transactional(readOnly = true)
Collection<MyClass> findByDateBeginOrStartedWorkBetween (Instant firstDate, Instant lastDate);

Но я получаю ошибку ниже при сборке:

Причина: java.lang.IllegalArgumentException: Не удалось создать запрос для метода public abstractjava.util.Collection com ... MyClass.findByDateBeginOrStartedWorkBetween (java.time.Instant, java.time.Instant)!Параметр не доступен для детали. StartWork BETWEEN (2): [IsBetween, Between] НИКОГДА.

Можно ли использовать и как использовать только один раз каждый параметр даты в весенних сапогах?

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете оставить первый, чтобы он работал с тем, как Spring Data получает запросы, но для вашего удобства определите второй метод как метод по умолчанию:

Collection<MyClass> findByDateBeginBetweenOrStartedWorkBetween(Instant firstDate, Instant lastDate, Instant firstDateAgain, Instant lastDateAgain);

default Collection<MyClass> findByDateBeginOrStartedWorkBetween(Instant firstDate, Instant lastDate) {
    return findByDateBeginBetweenOrStartedWorkBetween(firstDate, lastDate, firstDate, lastDate);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...