Как сравнить, если значение BigDecimal находится внутри диапазона в запросе? - PullRequest
0 голосов
/ 14 апреля 2020

Допустим, я должен проверить в запросе, находится ли значение внутри диапазона, и это значение BigDecimal в Java. Значения в базе данных являются числами (с двумя десятичными знаками). Идея выше ... но я не знаю верного пути и, если немного похуже, у меня нет доступа, чтобы протестировать запрос отдельно. Я использую расширенный репозиторий jpa, поэтому, вероятно, мне нужно написать собственный запрос в этом случае.

@Query("SELECT c "
        + " FROM Taxes c "
        + " WHERE c.minOrderValue <= 'Mvalue' AND c.maxOrderValue >= 'Mvalue' "
)
Optional<TaxesRR> getTaxes(@Param("Mvalue") BigDecimal Mvalue);

1 Ответ

0 голосов
/ 04 мая 2020

Вот как это работает для меня. Любое другое решение по-прежнему ценится.

@Query("SELECT c "
        + " FROM ConjuntoTaxasRetencaoRapida c "
        + " WHERE c.valorMinimoPorteFaturamento <= ?1 "
        + " AND c.valorMaximoPorteFaturamento > ?2")
Optional<ConjuntoTaxasRetencaoRapida> obterTaxasRR(BigDecimal valorProjetadoMes, BigDecimal valorProjetadoMesConsolidado);
...