Как получить набор результатов в Hibernate - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь сделать следующее в спящем режиме:

Session session2 = HibernateUtil.getSessionFactory().openSession();
List<TitleEntity> tt = session2.createQuery(
  "select * from title where url = 'http://google.com'
").getResultList();

Однако я получаю следующую ошибку:

Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select * from title where url = 'http://google.com']
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:133)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:164)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:670)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:103)

Каким будет правильный способ получения SELECT * в качестве набора результатов?

1 Ответ

0 голосов
/ 28 июня 2018

В HQL вы не указываете символ *, фактически вам не нужно указывать select, если только вы не хотите вернуть только часть запроса. Также вам нужно указать ссылку на имя объекта. Поэтому удаление select * и обновление имени сущности исправляет ваш запрос:

from TitleEntity where url = 'http://google.com'

Ошибка указывает, что восьмой столбец является виновником, это прямо указывает на символ * запроса.

Для справки: https://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/queryhql.html#queryhql-select

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...