亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果我的應用程序需要大量連接查詢,我應該使用 ORM

如果我的應用程序需要大量連接查詢,我應該使用 ORM

白衣非少年 2021-08-19 19:05:32
我有 3 個實體 i。資產(PK 資產_id,FK 類別_id) ii. 類別(PK category_id, FK: size_id) iii. 尺寸(PK size_id)現在每個資產都屬于一個類別(多對一)并且每個類別都有一個大小(多對一)我調用 Asset.getCategory(),它會調用 (SELECT * from category) 并且調用 Caegory.getSize() 會調用到 (SE:ECT * from size)因此,OOP 中的單個實體檢索進行了 3 個 DB 調用,就像我在 DB 調用上編寫的連接查詢一樣。讓我想知道,為什么我們使用 ORM。
查看完整描述

1 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

你的假設是錯誤的。在 JPA 中,您可以使用“fetch”關鍵字來查詢整個對象圖,這基本上可以在一次查詢中獲取數據庫中的所有數據。所以你會做類似的事情

entityManager.createQuery("select asset from Asset asset join fetch asset.category cat join fetch cat.size size");

這將在一個查詢中獲得帶有其類別的資產,以及帶有其大小的類別。除了這 3 個表非常少之外,您通??梢允褂没具B接連接更多的表,而不會出現性能問題。


查看完整回答
反對 回復 2021-08-19
  • 1 回答
  • 0 關注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號