Question

J'ai un problème dans Grails 1.1.2 + MySQL.

Mon Quelque chose de classe de domaine contient 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.

Est-il possible de spécifier la contrainte maxSize pour la carte interne (carte), de sorte que Grails utilise au lieu MEDIUMBLOB ou BLOBK de TINYBLOB?

... Btw en utilisant mem DB, tout fonctionne très bien.

Était-ce utile?

La solution

Comme vous le savez, il y a une contrainte de cartographie pour une classe de domaine . Toutefois, votre question peut être trop complexe pour cette fonctionnalité.

Dans ce cas, vous pouvez spécifier un explicite mapping Hibernate (via un fichier HBM) pour une classe de domaine. Cela permet la flexibilité complète de mise en veille prolongée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top