マップフィールドにmysqlで適切な列タイプを使用するように聖杯を強制する方法
-
18-09-2019 - |
質問
Grails 1.1.2 + MySQLに問題があります。
私のドメインクラスには、フィールドが含まれています
Map<String, Map<Integer, Integer>> priceMap
アプリを実行すると、Grailsはテーブル「何か」とサブテーブル「Something_Price_Map」を作成します。 'Something_price_map'が含まれています
BIGINT(20) price_map
VARCHAR(255) price_map_idx
TINYBLOB price_map_elt
問題は、このような小さなマップデータでも列のプリセマップに記入すると、[en:[100:4、500:20、600:24]]]で、データのサイズはの制限を超えていることです。 255バイト。
グレイルがTinyBlobの代わりにMediumBlobまたはBlobkを使用するように、内部マップ(MAP)にMaxSizeの制約を指定する方法はありますか?
ところで... In-Mem DBを使用して、すべてが正常に機能します。
解決
ご存知かもしれませんが、aがあります マッピング制約 ドメインクラスの場合。ただし、問題はその機能には複雑すぎる可能性があります。
そのような場合、あなたはanを指定できます 明示的な冬眠マッピング (HBMファイル経由)ドメインクラスの。これにより、冬眠の完全な柔軟性が可能になります。
所属していません StackOverflow