что если вы смоделировали каждую пару ключ / значение как объекты первого класса? например :
class MyKeyValue {
static mapping={
id generator:'assigned'
}
String id
String value //i guess this could be an object of some sort, as long as it is a valid property (like Date)
def getKey = {
return id;
}
}
class User {
//...other properties
//you'd put this property where the hashmap was originally.
List MyKeyValue
}
Команда generate-all создаст для этого довольно простой пользовательский интерфейс, но его можно использовать, и он является отправной точкой для настройки. Затем вы можете написать свои собственные ограничения и использовать встроенную проверку GORM и т. Д.
Тем не менее, это немного хакерский имо - и производительность не будет хорошей, но если у вас есть только несколько, я не думаю, что это будет иметь значение.