[英]Hibernate: how to use CONCAT and GROUP_CONCAT
如何在HQL查詢中使用CONCAT()
和GROUP_CONCAT()
?
關於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會假設結果也是數字和崩潰。
如果您使用的是createSQLQuery,請將該列的addScalar用作String。
SQLQuery query = sessionObj.createSQLQuery("select group_concat(column1,column2) as mycolumn from some table group by someThing");
query.addScalar("mycolumn ", Hibernate.STRING);
是方言的子類
和
registerFunction("group_concat", new StandardSQLFunction("group_concat", Hibernate.STRING));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.