我試圖建立在NHibernate的下列協會(基實體類包含id屬性,它和屬性是選自S#ARP架構)NHibernate的
public class Terminal : Entity {
public virtual string Name { get; set; }
}
public class Order : Entity {
[NotNull]
public virtual Terminal Terminal { get; set; }
}
哪裏上的數據訂單存儲在存儲在TERMINALS表中的ORDERS和終端數據上。問題在於兩個表格之間沒有直接聯繫。如果我有一個ORDERS.ORDER_ID的ID,我會用下面的SQL獲取相應的TERMINALS行。
select t.*
from ORDERS o
inner join cust_prod cp on (o.CUST_PROD_ID = cp.CUST_PROD_ID)
inner join customer_terminal ct on (cp.CUSTOMER_TERMINAL_ID = ct.CUSTOMER_TERMINAL_ID)
inner join terminal t on (ct.TERMINAL_ID = t.TERMINAL_ID)
where o.ORDER_ID = :p_order_id
如何在NHibernate中映射這個?最好如何在Fluent NHibernate中映射這個,但我想我可以從XML中找出它。另外,鑑於我正在使用的遺留數據庫充滿了這樣的鏈條,是否有任何最佳實踐建議?
什麼是客戶和訂單類? – Paco 2009-06-15 21:49:17