【问题标题】:Grails mapping basic collection typesGrails 映射基本集合类型
【发布时间】:2012-12-14 18:45:05
【问题描述】:

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

static hasMany = [nicknames: String]

那么,执行上述操作与仅将 String 类型的数组(或列表)添加到域类之间到底有什么区别 - 即

List<String> nicknames 

【问题讨论】:

    标签: java hibernate jakarta-ee grails


    【解决方案1】:

    不同之处在于:

    List<String> nicknames
    

    Grails 并不知道您实际上想要映射(通过 Hibernate)。 Grails 使用static hasMany 告诉Hibernate 如何在不需要Hibernate 映射文件的情况下工作。

    从技术上讲,您不需要定义List&lt;String&gt;。您只需要hasMany。这将默认为Set&lt;String&gt;。如果您需要索引列表,那么将List&lt;String&gt;hasMany 一起保存也可以。

    【讨论】:

    • 当你说“Grails 不知道你实际上想要那个映射”时,你到底是什么意思?
    • 例如,当我定义一个非集合字段(如整数等)时,Grails 知道我希望它映射并在数据库中创建相应的列。
    • 这是不同的,因为您在谈论列与外键关系。 Grails 需要知道集合与其父级之间的关系类型才能正确配置。
    猜你喜欢
    • 2011-04-30
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    相关资源
    最近更新 更多