如何針對給定NamedQuery強制執行延遲加載策略。JPA - 僅爲給定查詢強制延遲加載
例如。考慮下面的僞代碼(只是爲了解釋的情況下) 我有一個實體
@Entity
class Xyz {
int a;
int b;
@Fetch = EAGER
Set<ABC> listOfItems;
}
在這種情況下,我們已經聲明LISTOFITEMS是預先抓取。
現在假設,我有一個NamedQuery (query="getXyz" , name="select x from Xyz x where a=?")
對於這個查詢,我只需要結果是懶惰的,即我不想要檢索listOfItems。
我能達到什麼樣的目標? PS: 1.我不想改變LISTOFITEMS偷懶的實體類 2.我不想提前選擇喜歡name="select a,b from Xyz z where a = ? "
由於在查詢具體領域的建議
你打算如何處理NamedQuery的結果?您可能會嘗試實現替代方案。 – siebz0r
@ siebz0r我只想顯示第一級字段。而有其他顯示需要取集。在我的情況下,我想通過不急於提取它們來提高性能。如果您有任何建議,請分享。謝謝 ! –
我會建議將該集註釋爲懶惰。爲什麼這不可能? – siebz0r