0
我對所有關係都使用了延遲加載,但出於性能原因,我想在1查詢中使用1關聯進行加載加載。急切地提取和過濾關聯
我無法使用FETCH
關鍵字來強制加載此關聯,因爲我希望能夠過濾此關聯,並且規範不支持此關聯。
實現這件事最簡單的方法是什麼?
我對所有關係都使用了延遲加載,但出於性能原因,我想在1查詢中使用1關聯進行加載加載。急切地提取和過濾關聯
我無法使用FETCH
關鍵字來強制加載此關聯,因爲我希望能夠過濾此關聯,並且規範不支持此關聯。
實現這件事最簡單的方法是什麼?
您可以使用不同的聯接爲過濾:
select u from User u
left join fetch u.address fetchedAddress
inner join u.address filteredAddress
where filteredAddress.street = :street
我不能這樣做,因爲一個實體可以有成千上萬的相關實體。這就是爲什麼我要過濾那些 – zootropo
所以,你的意思是你想讓JPA加載只有一些地址的用戶?這正是規範所禁止的。您應該加載地址,並從加載的地址獲取用戶。 –