中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談hibernate急迫加載問題(多重外鍵關聯)

發布時間:2020-09-06 19:34:07 來源:腳本之家 閱讀:140 作者:Islandww 欄目:編程語言

數據庫結構如下

淺談hibernate急迫加載問題(多重外鍵關聯)

strategy中有外鍵member_id(關聯member表)外鍵strategy_category(關聯category表)而member表中有外鍵position_id(關聯positons表)

如果前臺頁面直接查詢stategy表中內容我們hql語句如果這么寫

Stringhql="FromStrategywhereid=:id";

控制臺會報nosession錯誤這是因為hibernate默認懶加載只有我們需要的時候才會將關聯的對象加載出來這里在我們前臺需要取關聯對象中的屬性的時候session已經關閉了額才會報這樣的錯誤

那么如何解決呢

這里建議使用leftjoinfetch的方式來加載對象而不是將注解中默認的懶加載改為急迫加載效率會很低

語句如下

Strategystrategy=(Strategy)sessionFactoryUtil.getSession()

.createQuery("FromStrategysleftjoinfetchs.strategyCategoryleftjoinfetchs.memberleftjoinfetchs.member.positionswheres.id=:id")

.setInteger("id",id).uniqueResult();

這里需要注意的是因為關聯的member表中又關聯了positions表所以需要一并加載出來另一個需要注意的是這里的s.id必須這么寫因為這里的每張表的主鍵名都為id如果不指明系統無法辨識

總結

以上就是本文關于淺談hibernate急迫加載問題(多重外鍵關聯)的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开原市| 会泽县| 耒阳市| 永昌县| 清远市| 府谷县| 聊城市| 呼伦贝尔市| 富宁县| 盱眙县| 盐亭县| 新巴尔虎右旗| 阿鲁科尔沁旗| 大荔县| 讷河市| 永善县| 玛多县| 阿城市| 上杭县| 封开县| 桃源县| 荆门市| 蕲春县| 金堂县| 湛江市| 新干县| 长春市| 丽水市| 馆陶县| 改则县| 会理县| 宁波市| 抚顺县| 泽库县| 余庆县| 朔州市| 蒲江县| 望都县| 当阳市| 府谷县| 清水河县|