Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails 在单列中持久化字符串数组_Grails_Gorm - Fatal编程技术网

Grails 在单列中持久化字符串数组

Grails 在单列中持久化字符串数组,grails,gorm,Grails,Gorm,我们的主域对象有多个string[]属性(各种配置选项),我们正在考虑一种优雅的方法来持久化数据。GORM为每个数组创建联接表,所以我们最终得到大约十几个联接表 我想知道是否有可能将每个数组序列化为主表的单个列(以某种方式分隔),并将其解析回array onload 你对如何做到这一点有什么建议吗?我想是hibernate用户类型还是grails属性编辑器?我花了一些时间在用户类型上,但运气不好 谢谢 pk您可以将参数放入映射/数组中,然后将其作为Json存储在db字段中: def someDo

我们的主域对象有多个string[]属性(各种配置选项),我们正在考虑一种优雅的方法来持久化数据。GORM为每个数组创建联接表,所以我们最终得到大约十几个联接表

我想知道是否有可能将每个数组序列化为主表的单个列(以某种方式分隔),并将其解析回array onload

你对如何做到这一点有什么建议吗?我想是hibernate用户类型还是grails属性编辑器?我花了一些时间在用户类型上,但运气不好

谢谢
pk

您可以将参数放入映射/数组中,然后将其作为Json存储在db字段中:

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

诸如此类,我还没有测试语法,但这是总体思路。

出于兴趣,GORM正在创建的几十个表有问题吗?