我有一个动态对象我需要持久化,其定义和值根据不同的用户而变化。您可以将它们视为管理员首先定义的动态表单,然后由不同的用户填充。
对于我的项目,我没有MySQL的替代方案,因此无架构数据库是不可能的。
我本可以使用普通的关系模型存储字段和多个表上的值来完成它但感觉太笨拙了。所以我决定将这些动态对象作为JSON存储在MySQL表中。
这是一个好方法吗?如果没有,你能否提出任何适当的替代方案?
无论如何,我在使用Grails从数据库中将对象检索为JSON时遇到问题。这是我的示例类,其中definition是需要存储JSON的字段。
String subJobType
String definition
static constraints = {
definition nullable: false
}
static mapping = {
definition sqlType: 'MEDIUMTEXT',type: 'text'
}
我只能将定义字段检索为字符串,但想要返回一个对象。
我可以首先获取所有对象,然后将每个对象的所有定义字段转换为JSON,但这听起来并不是一个好主意。