Domanda

Ho un problema in Grails 1.1.2 + MySQL.

La mia classe di dominio Qualcosa contiene campo

Map<String, Map<Integer, Integer>> priceMap

Quando eseguo l'applicazione, Grails crea tabella 'qualcosa' e sub-table 'something_price_map'. 'Something_price_map' contiene

BIGINT(20) price_map
VARCHAR(255) price_map_idx
TINYBLOB price_map_elt

Il problema è che quando riempio-sulla colonna priceMap anche con piccoli dati della mappa come questa 'priceMap: [en: [100: 4, 500: 20, 600: 24]]', la dimensione dei dati supera il limite di 255bytes.

C'è un modo di specificare maxSize vincolo per la mappa interna (Map), in modo che Grails utilizza MEDIUMBLOB o BLOBK invece di TINYBLOB?

A proposito ... Utilizzando in-mem DB, tutto funziona bene.

È stato utile?

Soluzione

Come forse sapete, c'è una vincolo mappatura per una classe di dominio . Tuttavia, il problema potrebbe essere troppo complessa per tale funzionalità.

In questi casi, è possibile specificare un esplicito mapping Hibernate (tramite file HBM) per una classe di dominio. Ciò permette la flessibilità completa di Hibernate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top