迭代,我有三個實體:檢查對象是一個多對多集合,而不取,並通過了所有的集合
User (id, name, organizations[], ...)
Organization (id, name, plants[], ...)
Plant (id, name ...)
User.organizations和Organization.plants是多對多FetchType.LAZY協會
現在,我有一個「工廠」和一個「用戶」對象。我想知道工廠對象是否在與用戶關聯的一個(或多個)組織的工廠集合中。
是否有可能使用JPA API或至少Hibernate來做到這一點,而無需獲取所有集合,也沒有自定義查詢?
例如,如果用戶擁有2000個組織並且每個組織都可以包含1000個工廠,那麼它可能是一個真正的性能殺手來遍歷集合。
爲什麼您甚至會想到加載到內存中並對可以對包含指定工廠的某些組織的所有用戶執行JPQL查詢時進行迭代? –
我想我會去JPQL /本機SQL的方式,但我想知道如果有另一種方式來做到這一點 –