J'ai un problème avec Grails 1.1.2 + MySQL.Comment forcer Grails à utiliser le type de colonne approprié dans le champ MySQL for Map
Ma classe de domaine contient quelque chose champ
Map<String, Map<Integer, Integer>> priceMap
Quand je lance l'application, Grails crée la table 'quelque chose' et sous-table 'something_price_map'. 'Something_price_map' contient
BIGINT(20) price_map
VARCHAR(255) price_map_idx
TINYBLOB price_map_elt
Le problème est que, lorsque je remplis dans la colonne priceMap même avec de petites carte de données similaires à « priceMap: [en: [100: 4, 500: 20, 600: 24]] ', la taille des données dépasse la limite de 255bytes.
Existe-t-il un moyen de spécifier la contrainte maxSize pour la carte interne (Map), de sorte que Grails utilise MEDIUMBLOB ou BLOBK au lieu de TINYBLOB?
Btw ... En utilisant DB en mémoire, tout fonctionne correctement.
Oui, c'est le problème - la complexité. Pour une carte simple, je pourrais utiliser la contrainte maxSize, mais je dois spécifier la taille maxSize pour la carte interne. Merci pour la recommandation du fichier hbm. Si je ne trouve pas de meilleure solution, je vais essayer celle-ci. –