Я использую javax CriteriaBuilder с CriteriaQuery следующим образом:
CriteriaBuilder builder = getSession().getCriteriaBuilder();
CriteriaQuery<MyClazz> criteria = builder.createQuery(MyClazz.class);
Root<MyClazz> root = criteria.from(MyClazz.class);
Predicate predicate = builder.and(
builder.equal( root.get("attribute1"), "somestring");
);
criteria.select(root).where(predicate);
Query<MyClazz> query = getSession().createQuery(criteria);
Дело в том, что «attribute1» имеет длину ~ 20. Я не хочу сравнивать полную длину attribute1, я просто хочу, чтобы записи WHERE attribute1 на позиции [5,16] равнялись "somsetring". Есть ли способ добиться этого?