Я столкнулся с проблемой, когда мне нужно поставить порядок путем умножения двух столбцов сущности, ради воображения сущности это:
@Entity
public class Entity {
@Column(name="amount")
private BigDecimal amount;
@Column(name="unitPprice")
private BigDecimal unitPrice;
.
.
.
many more columns
}
Мой интерфейс репо реализует JpaRepository и QuerydslPredicateExecutor, но яизо всех сил пытаюсь найти способ упорядочить мои данные по «количеству * unitPrice», так как я не могу найти способ поместить их в
PageRequest (new Sort.Order(ASC, "amount * unitPrice")
)
без PropertyReferenceException:Нет значения свойства * unitPrice ... thrown.
Я не могу выполнить пользовательский запрос по имени, так как мой запрос принимает довольно массивный фильтр, основанный на пользовательских входных данных (не может поместить предложение where в запрос, потому что если пользователь не имеет 't выбрано любое значение, где предложение не может быть просто в запросе).
Чтобы упростить его.Мне нужно что-то вроде findAll (Predicate, Pageable), но мне нужно заставить этот запрос упорядочить себя по "amount * unitPrice", но также не затрагивать мои Preditate (фильтр) и Pageable (смещение, лимит, другие сортировки).