2011-03-06 2 views
0


점으로 HQL 결과를 얻을 수 있습니까? 예를 들어
는 :HQL - DOT seperator로 select에서 결과 얻기

select Employee.name as 'Employee.name' 

나는 MySQL은, 최대 절전 모드에서 해당 전나무 어떤 지원이 있다고 할 수 있음을 알고있다.
이것은 내가 얻을 exeption입니다 "."의

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) 

때문에 아키텍처 문제, "_"instad 나에게 위선적 인 일.
감사합니다.

답변

1

질문을 올바르게 이해했는지 확실하지 않습니다. 당신은 쿼리 작성에 대해 생각하고 있습니다. Hibernate는 HQL이라는 내부 언어를 지원한다. 솔직하게 JPA를 사용하고 JPA 구현으로 최대 절전 모드를 선호합니다. 이 경우 Criteria Api 또는 JPA query language을 사용하여 검색어를 작성해야합니다. 검색어 언어는 NamedQueries과 함께 매우 편리합니다. 당신은 HQL 또는 JPA를 사용하는 경우 그래서, 가장 쉬운 방법은 다른 가능성은 NativeQuery를 사용하는 몇 가지 이름

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

로 개체를 선택하는 것입니다, 여기 example입니다.