在 Liferay 中使用動態查詢
對於涉及服務層實體的大多數場景,我們可以使用預設服務呼叫,也可以使用查詢器的一些幫助。對於涉及多個實體的簡單場景,我們將使用動態查詢 API。這是一個包裝 API 對於 Hibernate 中使用的 Criteria API,它可以用於我們需要使用 API中的幾個構造生成動態查詢的情況,這種情況本質上並不複雜。首先,一些最常用的構造是:DynamicQueryFactoryUtil
-用於構造查詢
RestrictionsFactoryUtil
-用於提供限制 iefields 以與特定值進行比較,以縮小匹配特定值或範圍內的結果等
ProjectionFactoryUtil
-用於提供投影以獲取將成為搜尋結果一部分的欄位,即不提供整個實體,將僅提供某些欄位或應用聚合函式(例如 min.max,avg)。
PropertyFactoryUtil
-用於比較實體類中的某些屬性,主要與查詢中的其他欄位進行比較
這些類的實現存在於 dao.orm.jpa 包中,包含所有可用的方法