Pergunta

Tenho um problema no Grails 1.1.2 + mysql.

Minha classe de domínio algo contém campo

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

Quando eu executo o aplicativo, o Grails cria a tabela 'algo' e a sub-tabela 'algo_price_map'. 'Something_price_map' contém

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

O problema é que, quando eu preenchendo o PriCemap da coluna, mesmo com pequenos dados de mapas como este 'mapa do preço: [en: [100: 4, 500: 20, 600: 24]]', o tamanho dos dados excede o limite de 255 bytes.

Existe alguma maneira de especificar a restrição MaxSize para o mapa interno (mapa), de modo que o Grails use MediumBlob ou Blobk em vez de Tinyblob?

BTW ... Usando o banco de dados no membro, tudo funciona bem.

Foi útil?

Solução

Como você deve saber, há um restrição de mapeamento Para uma classe de domínio. No entanto, seu problema pode ser muito complexo para essa funcionalidade.

Nesses casos, você pode especificar um Mapeamento explícito de hibernato (via arquivo HBM) para uma classe de domínio. Isso permite a flexibilidade completa do hibernato.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top