2015-06-17 4 views

ответ

1

В большинстве случаев не требуется позвонить в save(). То, что вы видите в ссылке «some examples», представляет собой сохранение основного объекта домена Author, который сначала сохраняется, а затем другие свойства будут делать это в базе данных с надлежащим id, чтобы связать его обратно. Например, эти два сниппет эквивалентны, насколько настойчивость обеспокоена:

def a = new Author(name: "Stephen King") 
     .addToFiction(fictBook) 
     .addToNonFiction(nonFictBook) 
     .save() 

и

def a = new Author(name: "Stephen King").save() 
a.addToFiction(fictBook) 
a.addToNonFiction(nonFictBook) 

Иногда save(flush:true) операция необходима, если вы после id для дальнейших зависимых операций, в противном случае это не обязательно.

Чтобы проверить, откройте два браузера, на одном нажмите на свое приложение, а на другом смотрите .../dbconsole - настойчивость запрашивается без необходимости явного сохранения.