我有一個域類是這樣的:懶柱負荷
class Document {
String mime;
String name;
byte[] content;
static mapping = {
content lazy:true;
}
}
,我想啓用延遲加載到「內容」一欄,是因爲應用程序的一些東西,而不需要訪問此列。
但懶惰:真正的選擇沒有工作......任何想法或解決方法?
我有一個域類是這樣的:懶柱負荷
class Document {
String mime;
String name;
byte[] content;
static mapping = {
content lazy:true;
}
}
,我想啓用延遲加載到「內容」一欄,是因爲應用程序的一些東西,而不需要訪問此列。
但懶惰:真正的選擇沒有工作......任何想法或解決方法?
你是什麼意思的應用程序做一些東西?你想要建立什麼?
僅供參考。急切和懶惰的加載通常與關係有關,默認情況下grails啓用了延遲加載。例如,」
Class Book{
static belongsTo = Author
String Name
Author author
}
Class Author{
static hasMany = [books:Book]
String Name
}
def author = Author.get(author_id)
def authorBooks = author.books //===> collection with lazy association by default
在你的代碼是沒有關係的。內容是文件的屬性,因此延遲加載在這裏並不適用。
http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html
有一些討論here關於使用Hibernate註釋以延遲加載特定列
另一種可能性是將您的Document對象分成兩部分。例如:
class Document {
String mime
String name
DocumentContent content
}
class DocumentContent {
static belongsTo = [document:Document]
byte[] data
}
由於這是一個關係,默認情況下,GORM將懶惰地加載DocumentContent。