¿Cómo puedo usar CONCAT()
y GROUP_CONCAT()
en consultas HQL?Hibernate: cómo usar CONCAT y GROUP_CONCAT
Respuesta
Acerca de concat
: funciona exactamente de la misma manera que en MySQL (concatena cadenas, no es una función de agregado).
Puede agregar group_concat
como función SQL a su configuración. De esta forma, asume que la base de datos subyacente conoce esta función y vincula su programa al 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()));
También indica que la salida de la función es una cadena. Sin esto cuando group_concat
campos numéricos, Hibernate asumirá que el resultado también será numérico y se bloqueará.
subclase el dialecto
y
registerFunction("group_concat", new StandardSQLFunction("group_concat", Hibernate.STRING));
o utilizar SQLFunctionTemplate
Si está utilizando createSQLQuery, utilice addScalar a la columna como de cadena.
SQLQuery query = sessionObj.createSQLQuery("select group_concat(column1,column2) as mycolumn from some table group by someThing");
query.addScalar("mycolumn ", Hibernate.STRING);
'Hibernate.STRING' ha quedado en desuso desde la versión 3.6.X de Hibernate [Aquí está el documento en desuso] (https://docs.jboss.org/hibernate/orm/3.6/javadocs/org/hibernate/Hibernate.html) , entonces tienes que usar 'StringType.INSTANCE'. –
- 1. GROUP_CONCAT en Concat no se trabaja con valores nulos
- 2. Cómo usar GROUP_CONCAT con Zend Framework?
- 3. SQLite: GROUP_CONCAT() varias columnas
- 4. hibernate restrictions.in con y, cómo usar?
- 5. MySQL GROUP_CONCAT campos múltiples
- 6. grupos ConCat en SQL Server
- 7. Concatenación de cadenas en Java: cuándo usar +, StringBuilder y concat
- 8. MySQL y GROUP_CONCAT() longitud máxima
- 9. Cómo citar valores utilizando group_concat
- 10. MySQL GROUP_CONCAT con valores nulos
- 11. mysql GROUP_CONCAT
- 12. ¿Cómo usar mysql concat() en la cláusula WHERE?
- 13. Problemas Doctrine QueryBuilder y concat
- 14. MySQL Group_Concat Repetir valores
- 15. Hibernate y JPA, ¿qué usar, dónde?
- 16. GROUP_CONCAT SQLite ordenar
- 17. Mysql IF IN GROUP_CONCAT breaks
- 18. JOIN y GROUP_CONCAT con tres mesas
- 19. ¿Cómo usar JodaTime con Spring e Hibernate?
- 20. mysql GROUP_CONCAT duplica
- 21. GROUP_CONCAT coma separador - MySQL
- 22. Cómo usar Hibernate <subselect>:
- 23. en MySQL GROUP_CONCAT
- 24. Derby: CONCAT equivalente
- 25. GROUP_CONCAT MYSQL nueva línea
- 26. Postgresql GROUP_CONCAT equivalente?
- 27. Usando MYSQL GROUP_CONCAT en la cláusula WHERE
- 28. GROUP_CONCAT equivalente en Django
- 29. ¿Por qué usar Hibernate/nHibernate?
- 30. Concat dos cadenas juntas
+1 por mencionar que te atas a mysql. group_concat no está disponible en, digamos, microsoft sql server. hibernate apunta a ser un proveedor de SQL independiente. – Terraego