grails:动态添加关联

时间:2010-09-19 16:47:05

标签: plugins grails groovy metaprogramming

通常设置一对多关联很容易。举个例子:

class Author {         
  String firstName 
  String lastName 

  static hasMany = [books: Book]        

  static constraints = { 
      books(nullable: true) 
  } 
} 

class Book {         
  String title 
  Author author 
  Publisher publisher 

  static constraints = { 
    author(nullable: true) 
    publisher(nullable: true) 
  } 
} 

但是,如果我已经在不知道Book的情况下设置了Author域,则最初没有指定static hasMany = [books: Book]。稍后,我想添加一个Book域,并希望将static hasMany = [books: Book]添加到Author。我可以用插件做到这一点吗?如果是这样,怎么样?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您不想更新Author类,可以创建自己的关联类。

class AuthorsToBooks {
    Author author
    static belongsTo = [Book: book]
}