HQL - получить результаты выбора с разделителем DOT - PullRequest
0 голосов
/ 06 марта 2011


Можно ли получить результаты HQL с помощью точки.
, например:

select Employee.name as 'Employee.name'

Я знаю, что mysql позволяет это, есть ли какая-нибудь поддержка, которая есть в hibernate.
Это исключение, которое я получаю:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: . near line 1, column 42 [SELECT Affiliate.affiliateId as Affiliate.affiliateId , parent.userName as parent_userName , Affiliate.userName as Affiliate_userName , Affiliate.email as Affiliate_email , parent.affiliateId as parent_affiliateId , employee.firstName as employee_firstName , Affiliate.name as Affiliate_name FROM com.affiliates.hibernate.Affiliate Affiliate  INNER JOIN Affiliate.employee as employee  INNER JOIN Affiliate.parent as parent WHERE 1=1  AND Affiliate.employee='1']
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)

Из-за проблем с архитектурой "_" вместо "."не могу работать на меня.
Спасибо

1 Ответ

1 голос
/ 06 марта 2011

Я не уверен, правильно ли я понял ваш вопрос. Вы думаете о написании запросов. Hibernate поддерживает свой внутренний язык HQL. Если честно, я предпочитаю использовать JPA и hibernate в качестве реализации JPA. В таком случае вы должны написать свои запросы с помощью Criteria Api или с использованием JPA языка запросов . Язык запросов очень удобен в сочетании с NamedQueries . Поэтому, если вы используете HQL или JPA, самый простой способ - выбрать объект с некоторым именем

SELECT e FROM Employee e WHERE p.name = ?1

Другая возможность использует NativeQuery , вот пример .

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