我们有一个hibernate映射文件(hbm.xml文件),它将我们域的一部分映射到数据库。这部分包含一个继承层次结构。即我们有一个父类'Parent'和几个子类'Child1','Child2',...使用子类时分割Hibernate配置文件(hbm.xml文件)
由于hibernate映射文件的结构,子类位于父代<class>
XML标记<joined-subclass>
内。
由于这个映射文件变得越来越大,我们现在想分割它。有没有办法为每个子类创建一个映射文件?
我们有一个hibernate映射文件(hbm.xml文件),它将我们域的一部分映射到数据库。这部分包含一个继承层次结构。即我们有一个父类'Parent'和几个子类'Child1','Child2',...使用子类时分割Hibernate配置文件(hbm.xml文件)
由于hibernate映射文件的结构,子类位于父代<class>
XML标记<joined-subclass>
内。
由于这个映射文件变得越来越大,我们现在想分割它。有没有办法为每个子类创建一个映射文件?
在新的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
乌
您可以在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>