2017-12-19 30 views
2

도메인 객체를 새로 고치려면 데이터베이스에서 데이터를 다시 읽으려면 refresh()를 수행합니다.Grails에서 속성을 새로 고칠 수 있습니까?

def b = Book.get(1) 
… 
b.refresh() 

도메인의 속성을 새로 고칠 수 있는지 궁금합니다.

Book 객체에 params를 바인딩하고 book 객체의 author 속성을 바인딩 해제한다고 가정하면 어떻게 할 수 있습니까?

은의이 책은

class Book { 
    String title 
    String author 
    String category 
} 

가정하자 내가 할 bindData (bookInstance, PARAMS)로 정의된다 생각해 보자. 모든 속성에 바인딩됩니다. bindData 후에 저자의 바인딩을 해제하고 싶습니다. 이것이 가능한가?

답변

1

나는 이것을 bookInstance.author = bookInstance.getPersistentValue('author')을 사용하여 해결했다.

1

특정 속성 바인딩을 제외하려는 것 같습니다.

bindData(bookInstance, params, [exclude: 'author']) 

은 나열된 것을 제외한 모든 속성을 바인딩합니다.

반대로 include을 사용하면 params에서 바인딩 할 속성을 명시 적으로 나열 할 수 있습니다.

bindData(bookInstance, params, [include: 'title', 'category'])