[英]JDBC and mySQL converting related database tables to objects
我想構建一個與mySQL數據庫連接的Java程序,該數據庫由具有不同的多對多和一對多表連接的表組成。
該程序可以處理不同作者和評論的書籍。 作者和書籍之間通過多對多聯系建立了聯系。 (因為作者可以寫不同的書,而一本書可以有不同的作者)。 書籍和評論通過一對多連接進行連接。
在程序方面,我制作了一個Album對象,該對象將其作者和評論存儲在單獨的數組列表中。 想法是遍歷不同的專輯並收集該專輯數據,然后是其作者和評論。
問題在於無法找到最佳方法。 我想最好是在封閉交易中進行,以使其更穩定。
以我有限的SQL和Java經驗,我只能看到3種不同的方式來執行此任務:
我是否應該在程序端執行此循環,並根據行號循環遍歷每個專輯,然后使用單獨的存儲過程獲得作者的榮譽,並使用另一個存儲過程通過外鍵進行恢復
還是應該在數據庫方面將整個操作作為存儲過程進行?
還是應該在大型連接過程中獲取所有表,然后使用som Java函數迭代該結果集?
還是做這件事的更好方法?
BR
如果我是你,那么我將使用ORM。 Java具有JPA2標准,該標准由Hibernate或Eclipselink實現,因此您可以輕松讀取對象之間的1:n和n:m關系。
在大多數用例中,您不需要進行迭代,而是從查找查詢開始(例如,用戶正在搜索某個作者的所有書籍)。 ORM允許您發出此查詢並獲取書籍列表,評論已經是每本書的預填充列表。
我建議您使用ORM(對象關系映射)框架,該框架簡化了從Java Objects訪問MySQL中的關系數據的過程。 參見休眠
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.