代码之家  ›  专栏  ›  技术社区  ›  Jean Barmash

mapping hasmany=[field:string]到数据库字段文本

  •  2
  • Jean Barmash  · 技术社区  · 15 年前

    是否可以将HasMany关联的数据库列类型设置为基元类型(在我的示例字符串中)的特定值?我知道如何设置字段(请参见 this question 但这是不同的。

      List textRecords
      static hasMany = [
              textRecords:String,
      ]
    

    我想确保我的文本记录映射到文本或长文本数据库类型。

    我可以创建一个单独的域类,它只包含一个字符串字段,并映射该字段,但这看起来像一个蹩脚的东西。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Colin Harrington    15 年前

    Grails用户指南中列出了一个示例 5.2.1.4 Basic Collection Types 与您想要完成的任务非常相似的部分。

    请记住,每次要向该对象添加一个文本记录时,它都必须加载整个文本记录列表才能再次保存它。出于性能原因,这可能不是您想要的行为。

    您最终会得到这样的映射块:

    static mapping = {
           hasMany joinTable:[name:'bunch_o_text_records', key:'domain_id', column:'text_record', type:"text"]       
    }