2009-09-24 7 views
1

전자 상거래 응용 프로그램에 DDD 스타일로 작업하려고했습니다. 대부분의 비즈니스 로직은 가짜 리포지토리를 사용하여 구현됩니다. 이제, NHibernate를 사용하여 도메인 모델을 실제 데이터베이스에 연결하고 싶습니다.nhibernate mapping with composite-element

나는 OrderLines의 목록이 포함 된 클래스 주문 나의 이해, OrderLine에 따르면

2. public Order Order { set; get;} // line 2 

을 다음과 같이 내가 부모 주문에 대한 참조가 내 OrderLine에 클래스에서

public IList<OrderLine> OrderLines{ ... } //line 1 

객체가 는 Entity 클래스 대신 Value 클래스이므로 매핑을 수행하려면 composite 요소를 사용합니다.

<bag name="OrderLines" table="OrderLines" lazy="true"> 
     <key column="Order_ID"/> <!--This is where I got confused. line 3--> 
     <composite-element class="OrderLine"> 
      <!-- class attribute required --> 
      <many-to-one name="Order" class="Order" column="Order_ID"/> <!--Do I need this? line 4--> 
      ... 
     </composite-element> 
    </bag> 

3 행에서 필자는 매핑을위한 핵심 요소를 만들었습니다 (구문에서 필요함). 그러나 OrderLine 클래스 (2 줄)에서 Order 클래스에 대한 참조를 정의 했으므로 4 행에서 매핑을 만들어야합니까?

답변