2015-10-13 75 views

回答

0

這將是錯誤的HQL複製該SQL查詢。 HQL是Hibernate實體的查詢語言,而不是SQL的替代品,因此您需要在Hibernate實體的層面上工作。

您可以使用@Formula子查詢結果直接綁定到實體領域:

@Formula("stuff((select ',' + u.IndividualPay from yourtable u where u.IndividualPay = IndividualPay order by u.IndividualPay for xml path('')),1,1,'')") 
private String individualPay; 

當Hibernate生成查詢,它會插入這個SQL片段到生成的SQL。

正確定義您的實體更爲重要。 HQL應該很簡單。

+0

謝謝sh0rug0ru。我對HQL並不熟悉。我怎樣才能以HQL的方式寫這個。 有三個表格。 1.員工 - employeeid,家庭支付 2.員工 - 個人薪酬映射 - employeeid,個人支付 3.活動 - employeeid,isactive – userUnknown

+0

閱讀Hibernate查詢語言。有很多分組的例子[在這裏](https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-grouping)。 – sh0rug0ru