Как заставить Грааля использовать правильный тип столбца в MySQL для поля карты

StackOverflow https://stackoverflow.com/questions/2000073

Вопрос

У меня есть проблема в Граале 1.1.2 + MySQL.

Мой класс доменов что -то содержит поле

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

Когда я запускаю приложение, Grails создает таблицу «что-то» и подтел. 'Something_price_map' содержит

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

Проблема в том, что когда я заполняю столбец PriceMap даже с небольшими данными карты, подобными этой PriceMap: [EN: [100: 4, 500: 20, 600: 24]] ', размер данных превышает предел 255bytes.

Есть ли какой -либо способ указать ограничение максимального размера для внутренней карты (карта), так что Grails использует MediumBlob или Blobk вместо TinyBlob?

Кстати ... Используя в MEM DB, все работает нормально.

Это было полезно?

Решение

Как вы, возможно, знаете, есть Ограничение картирования для класса домена. Однако ваша проблема может быть слишком сложной для этой функциональности.

В таких случаях вы можете указать Явное отображение сгибания (через файл HBM) для класса домена. Это позволяет полной гибкости Hibernate.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top