Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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
Java Grails映射基本集合类型_Java_Hibernate_Jakarta Ee_Grails - Fatal编程技术网

Java Grails映射基本集合类型

Java Grails映射基本集合类型,java,hibernate,jakarta-ee,grails,Java,Hibernate,Jakarta Ee,Grails,Grails支持基本集合类型的映射,例如: static hasMany = [nicknames: String] 那么,执行上述操作与仅向域类添加String类型的数组(或列表)之间的区别是什么呢 List<String> nicknames 列出昵称 不同之处在于: List<String> nicknames 列出昵称 Grails不知道您实际上想要映射它(通过Hibernate)。Grails使用static hasMany告诉Hibernate如何在

Grails支持基本集合类型的映射,例如:

static hasMany = [nicknames: String]
那么,执行上述操作与仅向域类添加
String
类型的数组(或列表)之间的区别是什么呢

List<String> nicknames 
列出昵称

不同之处在于:

List<String> nicknames
列出昵称
Grails不知道您实际上想要映射它(通过Hibernate)。Grails使用static hasMany告诉Hibernate如何在不需要Hibernate映射文件的情况下工作


从技术上讲,您不需要定义
列表
。您只需要
有许多
。这将在
集合中默认设置。如果您需要一个索引列表,那么将
列表
hasMany
一起保存也可以。

不同之处在于:

List<String> nicknames
列出昵称
Grails不知道您实际上想要映射它(通过Hibernate)。Grails使用static hasMany告诉Hibernate如何在不需要Hibernate映射文件的情况下工作


从技术上讲,您不需要定义
列表
。您只需要
有许多
。这将在
集合中默认设置。如果您需要一个索引列表,那么将
list
hasMany
一起保留也可以。

当您说“Grails不知道您实际上想要映射它”时,您的确切意思是什么?例如,当我定义一个非集合字段(如整数或其他)时,Grails知道我希望它被映射并在数据库中创建一个对应的列,这是不同的,因为您谈论的是列与外键的关系。Grails需要知道集合与其父集合之间的关系是什么,才能正确配置内容。当您说“Grails不知道您实际上想要映射它”时,您的确切意思是什么?例如,当我定义一个非集合字段(如整数或其他)时,Grails知道我希望它被映射并在数据库中创建一个对应的列,这是不同的,因为您谈论的是列与外键的关系。Grails需要知道集合与其父集合之间的关系,以便正确配置内容。