如何在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