如何在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将假定结果也是数字和崩溃.