У меня есть объект, который имеет атрибут CLOB:CLOB и CriteriaQuery
public class EntityS {
...
@Lob
private String description;
}
Для извлечения определенного EntityS из БДА мы используем CriteriaQuery, где нам необходимы результаты должны быть уникальными, поэтому мы делаем:
query.where(builder.and(predicates.toArray(new Predicate[predicates.size()]))).distinct(true).orderBy(builder.asc(root.<Long> get(EntityS_.id)));
Если мы это сделаем, мы получим следующее сообщение об ошибке:
ORA-00932: inconsistent datatypes: expected - got CLOB
Я знаю, что это потому, что вы не можете использовать расст inct при выборе CLOB. Но нам нужен CLOB. Есть ли обходной путь для этого, используя CriteriaQuery с Predicates и т. Д.?
Мы используем уродливое обходное решение, избавляющееся от .unique (true), а затем фильтрацию результатов, но это дерьмо. Мы используем его только для того, чтобы иметь возможность продолжать разработку приложения, но нам нужно лучшее решение, и я, кажется, не нашел его ...
Может быть, мне что-то не хватает, но как мне это сделать с помощью CriteriaQuery? – diminuta