相关疑难解决方法(0)

NHibernate渴望获得多个级别

我有一个3级实体层次结构:Customer-Order-Line,我想使用ISession.Get(id)为给定客户完整检索.我有以下XML片段:

customer.hbm.xml:

<bag name="Orders" cascade="all-delete-orphan" inverse="false" fetch="join">
  <key column="CustomerID" />
  <one-to-many class="Order" />
</bag>
Run Code Online (Sandbox Code Playgroud)

order.hbm.xml:

<bag name="Lines" cascade="all-delete-orphan" inverse="false" fetch="join">
  <key column="OrderID" />
  <one-to-many class="Line" />
</bag>
Run Code Online (Sandbox Code Playgroud)

我使用了fetch ="join"属性来表示我想为每个父项获取子实体,这构造了正确的SQL:

SELECT 
    customer0_.ID AS ID8_2_, 
    customer0_.Name AS Name8_2_, 
    orders1_.CustomerID AS CustomerID__4_, 
    orders1_.ID AS ID4_, 
    orders1_.ID AS ID9_0_, 
    orders1_.PostalAddress AS PostalAd2_9_0_, 
    orders1_.OrderDate AS OrderDate9_0_, 
    lines2_.OrderID AS OrderID__5_, 
    lines2_.ID AS ID5_, 
    lines2_.ID AS ID10_1_, 
    lines2_.[LineNo] AS column2_10_1_, 
    lines2_.Quantity AS Quantity10_1_, 
    lines2_.ProductID AS ProductID10_1_ 

FROM Customer customer0_ 

LEFT JOIN [Order] orders1_ 
       ON customer0_.ID=orders1_.CustomerID 

LEFT JOIN …
Run Code Online (Sandbox Code Playgroud)

nhibernate fetching-strategy

19
推荐指数
2
解决办法
2万
查看次数

标签 统计

fetching-strategy ×1

nhibernate ×1