У меня есть CriteriaBuilder, где я пытаюсь получить символы от 1 до (LengthOfString - 5).Однако я не могу получить желаемый результат.Ниже мой желаемый результат.
select
*
from tbl_job job1_
inner join
tbl_customer customer2_
on job1_.customer_id=customer2_.id
where
job1_.customer_id=customer2_.id
and //
group by SUBSTRING(job1_.code,1,(LENGTH(job1_.code)-5))
И я пробовал этот способ, но моя IDE отображает ошибку под (cb.length (root.get ("code")) - 5)"Оператор- не определено для типа аргумента (ов). Выражение, int ".
final Specification<Job> specification = (root, query, cb) -> {
query.orderBy(cb.asc(root.get("code")));
query.groupBy(cb.substring(root.get("code"), 1 , (cb.length(root.get("code"))-5) ));
return cb.and(
//...
};
Может ли это быть причиной?Спасибо за любую помощь заранее.