例如,假设我有两个表,Product和Order。产品有ID、Name、Description、Cost等详细列。Order有ID和ProductID列(假设订单只能包含一个产品)。
在系统中显示订单列表时,我还想在没有所有其他数据的情况下显示相关的产品名称(即,急切地加载订单及其相关产品名称,并延迟加载所有其他产品属性):
SELECT o.ID, o.ProductID, p.Name FROM Order o JOIN Product p ON o.ProductID=p.ID
如果我在NHibernate中这样做,我有两个选择:急切加载或延迟加载。
带着急切的装填,我得到了这样的东西:
我有一个数据库,将“市场上可用”的产品和“仍在开发中”的产品存储在两个单独的表(market_product和dev_product)中。第三个表(物质)包含一个产品可以制成的所有物质。另外两个表(marked_product_comp和dev_product_comp)负责产品组成。
我想选择的产品仍在开发中,是由相同成分的营销产品。
在以下(简化)示例中,查询必须从dev_product表中选择ID =2的产品。
CREATE table market_product (ID SERIAL PRIMARY KEY);
CREATE table dev_product (ID SERIAL