2011-03-06 42 views
0


是否可以通過點獲取HQL結果。
例如:HQL - 從DOT分隔符中獲得選擇結果

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和hibernate作爲JPA實現。在這種情況下,您必須使用Criteria Api或使用JPA query language來編寫查詢。查詢語言結合NamedQueries非常方便。所以,如果你正在使用HQL或JPA,最簡單的方法是選擇一些名

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

另一種可能是使用NativeQuery對象,這裏是一個example