Как запросить поле JPA LocalDate, передав месяц и год в качестве аргументов?JAVA

Программисты JAVA общаются здесь
Anonymous
Как запросить поле JPA LocalDate, передав месяц и год в качестве аргументов?

Сообщение Anonymous »

У меня есть следующая сущность с полем «Дата транзакции LocalDate»:

Код: Выделить всё

public class Revenue {

... (Other fields omitted for simplicity)

@Column(name = "transaction_date")
private LocalDate transactionDate;
Я хочу получить все доходы за определенный месяц года. URI должен выглядеть примерно так: /revenue/{year}/{month}.
Можно ли сделать это с помощью готовых методов запроса JPA?
Я пробовал следующее:

Код: Выделить всё

@Repository
public interface RevenueRepository extends JpaRepository {

@Query(
"SELECT r FROM revenue WHERE YEAR(r.transactionDate) = :year AND MONTH(r.transactionDate) = :month")
Page findByYearAndMonth(
@Param("year") int year, @Param("month") int month, Pageable pageable);

...

public interface RevenueService {

Page getByYearAndMonth(int year, int month, Pageable pageable);

...

@Service
public class RevenueServiceImpl implements RevenueService {

@Autowired private RevenueRepository revenueRepository;

@Override
public Page getByYearAndMonth(int year, int month, Pageable pageable) {
return revenueRepository.findByYearAndMonth(year, month, pageable).map(RevenueDTOResponse::new);
}

...

@GetMapping("/{year}/{month}")
public ResponseEntity
> getByYearAndMonth(
@PathVariable int year, int month, Pageable pageable) {
return new ResponseEntity(
revenueService.getByYearAndMonth(year, month, pageable), HttpStatus.OK);
}
Но я столкнулся со следующим исключением: https://gist.github.com/davisaints/7645 ... 4df3695a37


Подробнее здесь: https://stackoverflow.com/questions/787 ... -arguments

Вернуться в «JAVA»