Код: Выделить всё
@Type(ListArrayType.class)
@Column(name = "co_creators", columnDefinition = "UUID[]")
private List coCreators;
Код: Выделить всё
COALESCE(
(SELECT ARRAY_AGG(cc.cocreatorid)
FROM cocreator cc
WHERE cc.elementid = c.id
AND cc.elementtype = 'COURSE'),
'{}'
) AS co_creators
- where(value) .in(fieldName)
Код: Выделить всё
restrictionBuilder = criteria.where(queryParams.getValue().toString());
restrictionBuilder.in(queryParams.getFieldName());
Код: Выделить всё
com.blazebit.persistence.parser.expression.SyntaxErrorException: Could not parse expression '7035bf82-a831-4a78-8615-6cc0e0c1ca26', line 1:4 mismatched input 'bf82' expecting {, '+', '-', '*', '/', '%', '||'}
- Установить значение в качестве параметра
Код: Выделить всё
restrictionBuilder = criteria.where(":value");
restrictionBuilder.in(queryParams.getFieldName());
criteria.setParameter("value", queryParams.getValue().toString());
Код: Выделить всё
SELECT selectedObject FROM CourseView selectedObject WHERE :value IN (:param_0) ORDER BY selectedObject.uuid DESC
Код: Выделить всё
{7035bf82-a831-4a78-8615-6cc0e0c1ca26}
- Используйте FUNCTION
Код: Выделить всё
restrictionBuilder = criteria.where("FUNCTION('any', :value, coCreators)");
criteria.setParameter("value", queryParams.getValue().toString());
- Используйте FUNCTION без параметра
Код: Выделить всё
restrictionBuilder =
criteria.where("FUNCTION('any', " + queryParams.getValue().toString() + ", coCreators)");
criteria.setParameter("value", queryParams.getValue().toString());
- Экранирование значения
Код: Выделить всё
restrictionBuilder = criteria.where("FUNCTION('any', '" + queryParams.getValue().toString() + "', coCreators)");
Код: Выделить всё
ExceptionHandlerExceptionResolver : Resolved [com.blazebit.persistence.impl.BuilderChainingException: A builder was not ended properly.]
- Экранирование значения с помощью eq(true)
Код: Выделить всё
restrictionBuilder =
criteria.where("FUNCTION('any', '" + queryParams.getValue().toString() + "', coCreators)");
restrictionBuilder.eq(true);
Код: Выделить всё
Caused by: org.postgresql.util.PSQLException: ERROR: invalid input syntax for type boolean: "7035bf82-a831-4a78-8615-6cc0e0c1ca26"
Position: 562
Есть ли способ заставить это работать так, как мне нужно, с помощью Blaze Persistence?Я думаю, что можно было бы использовать собственный запрос, однако должна быть возможность использовать только собственный запрос для этого условия, но комбинировать его с другими (неродными) условиями. Однако я также не знаю, как включить пользовательские запросы/условия в Blaze Persistence.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ains-entry
Мобильная версия