我正在使用Grails 2.3.6應用程序。此應用程序有多個域類,任務是根據用戶提供的日期範圍在域類中查找屬性。根據日期範圍查找Domain類上的屬性
我必須瀏覽多個Domain類才能找到此屬性,這就是我的棘手之處!下面
請參閱代碼:
class GlobalAllSiteData {
String globalSiteID = ""
static hasMany = [siteDatas: SiteData]
}
class SiteData {
static hasMany = [userDatas: UserData]
static belongsTo = [gd:GlobalAllSiteData]
}
class UserData {
static hasMany = [userActions: UserAction]
static belongsTo = [sd:SiteData]
}
class UserAction {
Date userAddedDate;
String userStatus = ""; // OK, INACTIVE, REMOVED
static belongsTo = [ud:UserData]
}
的3個參數用戶給出該應用是GlobalAllSiteData作爲字符串和2周的日期,這將在userAddedDate
下面被用作範圍是我設想的步驟:
查找所有SiteDat一個基於的對象GlobalAllSiteData字符串由用戶提供。
在每個SiteData對象中,循環遍歷以獲取所有UserData對象。
在每個UserData對象上循環遍歷以獲取所有UserAction對象。
在每個UserAction對象上,應用FROM & TO日期範圍並查找UserData對象的數量。
根據用戶被添加到公司列表的不同系統中的次數,每個用戶將有多個UserAction對象。
這是一個棘手的部分。所以爲了使它更容易,我想選擇userAddedDate那更接近今天的日期。然後將其與用戶提供的日期範圍進行比較。
所以,我應該根據用戶提供的日期範圍的最終輸出是,
在數據庫中的UserData的總數。
的的UserData總數與UserActionuserStatus設置爲OK。
由於我們對Grails和Groovy都很陌生,所以我對此一無所知!
有沒有更快更有效的方法來查詢上述條件?