是否可以刷新Grails中的属性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以刷新Grails中的属性?相关的知识,希望对你有一定的参考价值。

为了刷新域对象,即从数据库重新读取数据,我们执行refresh()。

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

我想知道我们是否可以刷新域的属性。

假设我已将params绑定到Book对象,并假设我想从book对象中取消绑定author属性,那么可以实现吗?

让我们考虑本书被定义为

class Book {
   String title
   String author
   String category
}

假设我做了bindData(bookInstance,params)。这将绑定到所有属性。我想在bindData之后取消绑定作者。这可能吗?

答案

听起来你只想排除绑定特定属性。

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

将绑定除列出的所有Book属性。

您可以反过来使用include明确列出要从params绑定的属性。

bindData(bookInstance, params, [include: 'title', 'category'])
另一答案

我用bookInstance.author = bookInstance.getPersistentValue('author')解决了这个问题。

以上是关于是否可以刷新Grails中的属性?的主要内容,如果未能解决你的问题,请参考以下文章