如何在HQL查詢中使用CONCAT()
和GROUP_CONCAT()
?Hibernate:如何使用CONCAT和GROUP_CONCAT
10
A
回答
9
關於concat
:它的工作方式與MySQL中的方式完全相同(它連接字符串,它不是聚合函數)。
您可以將group_concat
作爲sql函數添加到您的配置中。這樣你就可以假設底層數據庫知道這個函數,並且你的程序綁定到MySQL 。
import org.hibernate.cfg.Configuration;
import org.hibernate.dialect.function.StandardSQLFunction;
import org.hibernate.type.StringType;
// ...
myConf.addSqlFunction("group_concat", new StandardSQLFunction("group_concat", new StringType()));
您還指出該函數的輸出是一個字符串。如果沒有這個,當你使用group_concat
數字字段時,Hibernate會認爲結果也是數字和崩潰。
1
子類的話
和
registerFunction("group_concat", new StandardSQLFunction("group_concat", Hibernate.STRING));
,或者如果您使用createSQLQuery使用SQLFunctionTemplate
1
,使用addScalar到列字符串。
SQLQuery query = sessionObj.createSQLQuery("select group_concat(column1,column2) as mycolumn from some table group by someThing");
query.addScalar("mycolumn ", Hibernate.STRING);
+0
Hibernate.STRING從Hibernate版本3.6.X [這裏是廢棄的文檔](https://docs.jboss.org/hibernate/orm/3.6/javadocs/org/hibernate/Hibernate.html)已被棄用。 ,所以你必須使用'StringType.INSTANCE'。 –
相關問題
- 1. MySQL group_concat和concat
- 2. 如何使用GROUP_CONCAT在CONCAT在MySQL
- 3. 如何使用mysql group_concat(concat())而不用concat削減
- 4. CONCAT()的內部GROUP_CONCAT()
- 5. GROUP BY,GROUP_CONCAT,CONCAT以及如何選擇
- 6. MySQL:如何在group_concat中使用concat時進行排序?
- 7. 使用GROUP_CONCAT和CONCAT從不同的表中加入值時,
- 8. 如何使用UNION和GROUP_CONCAT一起
- 9. 如何Concat的兩個列與Hibernate queryover使用LINQ
- 10. 如何使用GROUP_CONCAT DISTINCT CONCAT來自同一個表的兩個字段
- 11. MySQL的 - 如何使用CONCAT及GROUP_CONCAT顯示行值作爲列名
- 12. MySQL的GROUP_CONCAT和CONCAT姓,姓氏和標題
- 13. 使用CONCAT及GROUP_CONCAT函數在一個MySQL查詢
- 14. 如何將concat和codeigniter一起使用?
- 15. 如何在MySQL查詢CONCAT,GROUP_CONCAT,按多子查詢
- 16. 下使用mysql GROUP_CONCAT和WHERE
- 17. PHP和MySQL GROUP_CONCAT與分隔逗號和搜索中,CONCAT用逗號
- 18. 如何使用group_concat引用值
- 19. 如何使用GROUP_CONCAT顯示用戶名?
- 20. 使用Hibernate的Criteria API,我可以使用concat和ilike限制嗎?
- 21. 使用GROUP_CONCAT
- 22. 使用GROUP_CONCAT
- 23. 使用group_concat mysql
- 24. Group_concat使用?
- 25. mysql,使用group_concat
- 26. 使用Grunt html2js和concat,我如何從concat js文件引用html文件
- 27. 使用Hibernate獲取GROUP_CONCAT逗號分隔值
- 28. 如何使用GROUP_CONCAT在休眠+春
- 29. 如何在MySQL中使用group_concat()?
- 30. 如何laravel使用GROUP_CONCAT在laravel
+1提你把自己綁在mysql上。例如,microsoft sql server中沒有group_concat。 hibernate的目標是獨立於SQL供應商。 – Terraego