首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

NHibernate 關聯映射:角色-模組-按鈕三層級聯查詢

     編輯:程式設計綜合問答

需查詢角色時一併載入其模組,及模組下的按鈕(三層關聯)。

映射策略

  1. HBM XML:在 `Role.hbm.xml` 定義 ``,`Module.hbm.xml` 同理定義 ``。
  2. Criteria/QueryOver:
    session.CreateCriteria()
        .SetFetchMode("Modules", FetchMode.Join)
        .SetFetchMode("Modules.Buttons", FetchMode.Join)
        .List();
    
  3. HQL:from Role r left join fetch r.modules m left join fetch m.buttons。

注意:多層 `join fetch` 可能產生笛卡兒積導致資料行數暴增,建議改用**批次抓取**(`batch-size`)或**子查詢**,或在 Service 層分步載入並組裝 DTO。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved