1

Grails 1.1.2 + MySQL に問題があります。

私のドメインクラスSomething containsフィールド

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

アプリを実行すると、Grails はテーブル 'something' とサブテーブル 'something_price_map' を作成します。「something_price_map」には含まれています

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

問題は、この「priceMap:[en:[100:4, 500:20, 600:24]]」のような小さな地図データでも priceMap 列に入力すると、データのサイズが制限を超えてしまうことです。 255バイト。

Grails が TINYBLOB の代わりに MEDIUMBLOB または BLOBK を使用するように、内部マップ (マップ) に maxSize 制約を指定する方法はありますか?

ところで...メモリ内DBを使用すると、すべて正常に動作します。

4

1 に答える 1

2

ご存じのとおり、ドメイン クラスにはマッピングの制約があります。ただし、問題がその機能に対して複雑すぎる可能性があります。

このような場合、ドメイン クラスに対して (hbm ファイルを介して)明示的な Hibernate マッピングを指定できます。これにより、Hibernate の完全な柔軟性が実現します。

于 2010-01-04T16:10:51.740 に答える