1

我在 Grails 1.1.2 + MySQL 中有一个问题。

我的域类Something contains field

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 列时,即使使用像这样的小地图数据 'priceMap:[en:[100:4, 500:20, 600:24]]',数据的大小超过了255 字节。

有没有办法为内部映射(Map)指定 maxSize 约束,以便 Grails 使用 MEDIUMBLOB 或 BLOBK 而不是 TINYBLOB?

顺便说一句...使用内存数据库,一切正常。

4

1 回答 1

2

您可能知道,域类有一个映射约束。但是,对于该功能,您的问题可能过于复杂。

在这种情况下,您可以为域类指定显式 Hibernate 映射(通过 hbm 文件)。这使得 Hibernate 具有完全的灵活性。

于 2010-01-04T16:10:51.740 回答