Как хранить данные JSON с помощью GORM в базе данных MySQL?
У меня есть динамический объект, который мне нужно сохранить, определение и значения которого меняются в зависимости от разных пользователей. Вы можете думать о них как о динамических формах, которые администратор сначала определяет, а потом заполняет разные пользователи.
У меня нет никакой альтернативы, чем MySQL для моего проекта, так что без схемы БД не может быть и речи.
Я мог бы сделать это, используя обычную реляционную модель для хранения полей и значений в нескольких таблицах, но это было слишком неуклюже. Поэтому я решил сохранить эти динамические объекты как JSON в таблице MySQL.
Это хороший подход? Если нет, можете ли вы предложить какие-либо правильные альтернативы?
В любом случае у меня возникают проблемы с извлечением объекта в виде JSON из базы данных с использованием Grails. Это мой пример класса, где определение - это поле, в котором нужно хранить JSON.
String subJobType
String definition
static constraints = {
definition nullable: false
}
static mapping = {
definition sqlType: 'MEDIUMTEXT',type: 'text'
}
Я могу только получить поле определения как строку, но хочу вместо этого вернуть объект.
Я мог бы сначала получить все объекты, а затем преобразовать все поля определения каждого объекта в JSON, но это не очень хорошая идея.