是否可以刷新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中的属性?的主要内容,如果未能解决你的问题,请参考以下文章
我是不是需要在 grails 中显式刷新 GORM 保存调用?