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

时间:2017-12-19 05:52:03

标签: grails

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

numeric

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

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

让我们考虑将本书定义为

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

答案 1 :(得分:1)

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