2011-09-15 1 views
2

우리 도메인의 일부를 데이터베이스에 매핑하는 최대 절전 모드 매핑 파일 (hbm.xml 파일)이 있습니다. 이 부분에는 상속 계층이 있습니다. 나는. 우리는 부모 클래스 'Parent'와 여러 하위 클래스 'Child1', 'Child2'를 가지고 있습니다 ...하위 클래스를 사용할 때 Hibernate 구성 파일 (hbm.xml 파일)을 분할합니다.

hibernate 매핑 파일의 구조로 인해 하위 클래스는 부모 <class> XML 태그 <joined-subclass> 내에 위치합니다.

이 매핑 파일이 커지면 더 커지고 이제는 분할하려고합니다. 각 하위 클래스에 매핑 파일을 저장할 수 있습니까?

답변

3

새로운 XML에있는 태그 :

<joined-subclass /> 

또는 최대 절전 모드 사이트에서 추출

<hibernate-mapping> 
<subclass name="DomesticCat" extends="Cat" discriminator-value="D"> 
     <property name="name" type="string"/> 
</subclass> 
</hibernate-mapping> 

:

It is possible to define subclass, union-subclass, and joined-subclass mappings in separate mapping documents directly. 

참조 : http://docs.jboss.org/hibernate/core/3.3/reference/en/html/inheritance.html

우도

0

당신은 당신의 XML 엔터티 정의를 사용할 수 있습니다 : 메인 hbm.xml 파일에서

:

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" [ 
    <!ENTITY subclass1 SYSTEM "classpath://my/hbms/subclass1.xml"> 
    <!ENTITY subclass2 SYSTEM "classpath://my/hbms/subclass2.xml"> 
    ]> 

<hibernate-mapping> 
<class name="my.pkg.Parent"> 
     ... 
     &subclass1; 
     &subclass2; 
</class> 

을 그리고 내/hbms/subclass1.xml :

<joined-subclass name="subclass1"> 
    <!-- all the subclass definitions --> 
</joined-subclass> 

그리고 내 /hbms/subclass2.xml :

<joined-subclass name="subclass2"> 
    <!-- all the subclass definitions --> 
</joined-subclass> 
관련 문제