J'utilise Hibernate 3.2.0 avec MySQL 5.1. Après avoir mis à jour le group_concat_max_len dans MySQL (à cause d'une requête group_concat qui dépassait la valeur par défaut), j'ai obtenu l'exception suivante lors de l'exécution d'une requête SQLQuery avec une clause group_concat :
"Aucun mappage de dialecte pour le type JDBC : -1"
-1 est la valeur de java.sql.Types pour LONGVARCHAR. Manifestement, l'augmentation de la valeur group_concat_max_len fait que les appels à group_concat renvoient une valeur LONGVARCHAR. Il semble qu'il s'agisse d'un cas de ce bogue :
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3892
Je suppose qu'il existe un correctif pour ce problème dans Hibernate 3.5, mais il s'agit encore d'une version de développement, donc j'hésite à la mettre en production, et je ne sais pas si elle causerait des problèmes pour d'autres parties de ma base de code. Je pourrais également utiliser des requêtes JDBC, mais je devrais alors remplacer chaque instance de SQLQuery par une clause group_concat.
D'autres suggestions ?