Java Grails映射基本集合类型
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如何在
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需要知道集合与其父集合之间的关系,以便正确配置内容。