我有一個域對象,我想存儲一些只存在於運行時的東西。我看了一下documentation,發現了transients
這個關鍵字,這個關鍵字就是我想要的。這裏是我的域對象看起來像......這是Grails瞬變的有效用法嗎?
class Contact {
def Seeker
def beforeInsert()
{
initiatedDate = new Date()
}
Date initiatedDate
Date acceptedDate
static transients = ['pal']
Seeker pal
}
其中Seeker
是一個常規類,這是不是一個域對象,但對一些性能的佔位符。
到目前爲止,一切都很好,並如預期我的聯繫表沒有一個pal
場。在我ContactController
我查詢了一堆接觸,c
的,再看看他們的Seeker
好朋友(如何隱瞞細節)和pal
字段設置爲一個新的對象。
c.pal = new Seeker();
c.pal.name = otherObject.name
render c as JSON
這一切似乎工作正常,除了pal對象從返回的JSON丟失。
這是一個有效的瞬態使用?文檔提到它們對於基於函數的getter和setter來說很方便,但在我的情況下,我需要一個實際的對象。我應該在我的對象上編寫一個getPal()和setPal()方法嗎?
感謝
好吃,謝謝!我會嘗試一下 – Simon 2010-01-27 16:28:53
作爲一個感興趣的問題,如何將它放在bootstrap.groovy中?我需要包含來自grails.converters的JSON編組嗎? – Simon 2010-01-27 16:30:54
把它放入init關閉並導入grails.converters.JSON(我已經更新了示例中的帖子來展示這個) – 2010-01-27 18:19:50