我们的主域对象有多个string []属性(各种配置选项),我们正在考虑一种优雅的方法来保存数据。 GORM为每个数组创建连接表,因此我们最终得到了大约十几个连接表。
我想知道是否可以将每个数组序列化为主表的单个列(以某种方式分隔)并将其解析回数组onload?
你有建议怎么做吗?我在想hibernate usertype还是grails属性编辑器?我花了一些时间使用usertypes但没有运气。
感谢 PK
答案 0 :(得分:1)
您可以将参数放入地图/数组中,然后将它们存储在数据库字段中作为Json:
def someDomainInstance = new SomeDomain()
def paramMap = [name:'John', age:24]
someDomainInstance.paramJson = paramMap as JSON
someDomainInstance.save()
然后,当您询问数据库时,您可以轻松地将此字符串转换回地图/数组:
def paramMapFromDB = JSON.parse(someDomainInstance.paramJson)
assertEquals 24, paramMapFromDB.age
类似的东西,我没有测试语法,但这是一般的想法。