将hasMany = [field:String]映射到数据库字段TEXT

时间:2009-12-21 07:53:56

标签: grails

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

  List textRecords
  static hasMany = [
          textRecords:String,
  ]

我想确保我的textRecords映射到TEXT或LONGTEXT数据库类型。

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

1 个答案:

答案 0 :(得分:2)

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

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

你最终会得到一个像这样的映射块:

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