我有一個用戶實體和一個Pet實體。用戶和寵物之間沒有@OneToMany,@ManyToMany或其他。原因是每個用戶可能有成千上萬的寵物(至少在這個例子中)。由於我不想急於加載它(太慢),我不想延遲加載(導致延遲初始化異常......並且我不想在視圖中使用open過濾器)我已經創建了方法(原因是我想有機會只返回關係屬性的子集,我不希望所有的用戶的寵物:在實體之間沒有關係映射的情況下在JPA中加入兩個表
getPetsForUser(final User user){...}
。連接的例子我已經看到了JPA顯然使用關係屬性上看來的實體。如何做到這一點的JPA?
在SQL我只想用外鍵...
我知道這是老了,但仍然具有現實意義。這個答案中唯一缺少的是你需要鏈接到列表寵物列表的最後''是'.list()',否則你會得到一個錯誤:org.hibernate.internal。 SQLQueryImpl不能轉換爲java.util.List'。除此之外,這是加入非相關表並將它們作爲某種對象返回的最佳答案。 –
完成。謝謝你的提示。 –