我有一个域对象,我想在其上存储一些仅在运行时存在的东西。我查看了文档并找到了transients
关键字,从表面上看,这正是我要寻找的。这是我的域对象的样子......
class Contact {
def Seeker
def beforeInsert()
{
initiatedDate = new Date()
}
Date initiatedDate
Date acceptedDate
static transients = ['pal']
Seeker pal
}
whereSeeker
是一个 groovy 类,它不是域对象,而是某些属性的占位符。
到目前为止一切都很好,我的联系人表没有pal
预期的字段。在我ContactController
的查询中,我查询了一堆联系人,c
然后查找他们的Seeker
朋友(如何保留的详细信息)并将该pal
字段设置为一个新对象。
c.pal = new Seeker();
c.pal.name = otherObject.name
render c as JSON
除了返回的 JSON 中缺少 pal 对象外,这一切似乎都可以正常工作。
这是对瞬变的有效使用吗?文档提到它们对于基于函数的 getter 和 setter 很方便,但就我而言,我想要一个实际的对象。我应该在我的对象上编写 getPal() 和 setPal() 方法吗?
谢谢