nhibernate에서 더 깊은 계층을 매핑하는 방법
-
03-07-2019 - |
문제
이 객체 그래프가 있습니다. 매핑하고 싶습니다.
- 초록 계정 (사용자 이름, 비밀번호, ...)
- 초록 고객 (쇼핑 카트, 주문, 역할)
- 개인 커스토머 (사용자 데이터)
- CorporateCustomer (다른 사용자 데이터, 회사 데이터)
- 관리자 (관리자)
- 초록 고객 (쇼핑 카트, 주문, 역할)
이것을 한 테이블에 어떻게 매핑 할 수 있습니까? (문서에서와 마찬가지로 1 레벨 깊이의 엔티티 계층 으로이 작업을 수행하는 방법을 알고 있지만 이것은 다릅니다).
아무도 아이디어가 있습니까? 나는 똑같이 물었다http://groups.google.com/group/nhusers/browse_frm/thread/7a85cba0048c18d8?hl=en, 그러나 지금까지 유용한 답변을받지 못했습니다.
해결책 2
둥지 서브 클래스는 XML 스키마에 대한 것이므로 제 생각에는 작동하지 않을 것입니다. 아마도 차별자 선언에 둥지를 틀어야 할 것입니다.
그리고 그것을 평평하게 매핑합니다 ... 나는 추상 클래스를 인스턴스화 할 수 없기 때문에 사용할 수없는 추상 클래스를 위해 차별자를 통과합니다. 또한 틀린 것 같습니다.
그러나 당신은 옳습니다. 나는 그것을 언젠가 시도해 볼 것입니다. 지금은 고객이 가지다 계정이 아닌 계정.
감사해요!
다른 팁
내가 보는 바에 따르면, 그것은 하나의 수준의 깊이 계층 구조와 다르지 않아야합니다. 이 시도:
<hibernate-mapping>
<class
name="Account"
table="..." >
<property .../>
...
<subclass
name="Customer" >
<property ... "/>
...
</subclass>
<subclass
name="IndividualCustomer" >
<property ... "/>
...
</subclass>
...
</class>
나는 여기에 nhibernate가없고 그것을 확인할 수 있지만 그것이 작동하는 것처럼 보입니다. 서브 클래스 요소가 그렇지 않으면 둥지를 틀려 고 할 수도 있습니다.
제휴하지 않습니다 StackOverflow