Org.hibernate.hql.internal.ast.QuerySyntaxException: неожиданный токен: USEJAVA

Программисты JAVA общаются здесь
Anonymous
Org.hibernate.hql.internal.ast.QuerySyntaxException: неожиданный токен: USE

Сообщение Anonymous »

У меня есть запрос, который пытается получить ряд деталей из списка дефектов:

Код: Выделить всё

String useIndexPrimary = "USE INDEX (PRIMARY)";
TypedQuery query = getEntityManager().createQuery("select d from "+getEntityName()+" d " + useIndexPrimary + " WHERE d.id in :defectIds", Defect.class);
query.setParameter("defectIds", ids);
Что в основном переводится как:

Код: Выделить всё

SELECT d FROM DefectConcrete d USE INDEX(PRIMARY) WHERE d.id IN defects"
Когда я пытаюсь выполнить код, я получаю

Код: Выделить всё

2024-07-22 12:01:27,936 [pool-177-thread-2] ::: ERROR com.optimyth.csaas.infrastructure.queues.spring.AnalysisLifeCycleManager -
java.lang.RuntimeException: Could not process stream for Diff defect.
...
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: USE near line 1, column 77 [select d from com.optimyth.csaas.metamodel.implementations.DefectConcrete d USE INDEX (PRIMARY) WHERE d.id in :defectIds]
Я думаю, что использую «USE INDEX» в правильном месте, но не уверен, почему у меня возникает проблема с «неожиданным токеном».

Подробнее здесь: https://stackoverflow.com/questions/787 ... -token-use

Вернуться в «JAVA»