Хранить и редактировать пары ключ / значение в Grails? - PullRequest
1 голос
/ 13 июля 2009

У меня есть объект домена в Grails, который должен хранить набор пар ключ / значение для каждого экземпляра. Никогда не должно быть более 10 пар. Пользователи приложения должны иметь возможность редактировать эти пары ключ / значение. Прямо сейчас я смотрю на хранение данных в HashMap для каждого экземпляра класса домена. Хотя я думаю, что это сработает, это означает, что мне придется написать достаточное количество пользовательского кода для редактирования, обновления и отображения этих объектов вместо использования кода, сгенерированного с помощью grails generate-all. Есть ли лучший способ сохранить и отредактировать пары ключ / значение или я должен просто придерживаться HashMap?

1 Ответ

3 голосов
/ 14 июля 2009

что если вы смоделировали каждую пару ключ / значение как объекты первого класса? например :

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 и т. Д.

Тем не менее, это немного хакерский имо - и производительность не будет хорошей, но если у вас есть только несколько, я не думаю, что это будет иметь значение.

...