在数据库中建立了几张表,其中两张表都是以many to one 的形式存在的.还有两张表是其中一张是主,别外一张是以many to one 主的形式存在的.表之间的关系我也建立了.为什么还是报错啊..
主表.
<hibernate-mapping>
    <class name="com.conf.base.DimBaseCollect" table="DIM_BASE_COLLECT" lazy="false">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="identity" />
        </id> 
        <many-to-one name="dimEventDisputes" class="com.model.base.DimEventDisputes" fetch="select" lazy="false">
            <column name="INIT_EVENT_ID" />
        </many-to-one>
        <many-to-one name="dimDisputes" class="com.model.base.DimDisputes" fetch="select" lazy="false">
            <column name="INIT_DISP_ID" />
        </many-to-one>
        <property name="year" type="java.lang.String">
            <column name="YEAR" length="4" not-null="true" />
        </property>
        <property name="caseNo" type="java.lang.String">
            <column name="CASE_NO" length="10" not-null="true" />
        </property>
        <set name="dimByApplicants" inverse="true" >
            <key>
                <column name="BY_APPL_ID" not-null="true" />
            </key>
            <one-to-many class="com.model.base.DimByApplicant" />
        </set>
        <set name="dimApplicants" inverse="true" >
            <key>
                <column name="APPL_ID" not-null="true" />
            </key>
            <one-to-many class="com.model.base.DimApplicant" />
        </set>
    </class>
</hibernate-mapping>
表2:
<hibernate-mapping>
    <class name="com.conf.base.DimByApplicant" table="DIM_BY_APPLICANT">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="identity" />
        </id> 
        <many-to-one name="dimBaseCollect" class="com.model.base.DimBaseCollect" fetch="select">
            <column name="BY_APPL_ID" not-null="true" />
        </many-to-one>
        <property name="byApplNameUnits" type="java.lang.String">
            <column name="BY_APPL_NAME_UNITS" length="50" not-null="true" />
        </property>
    </class>
</hibernate-mapping>
表3:
<hibernate-mapping>
    <class name="com.conf.base.DimApplicant" table="DIM_APPLICANT">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="identity" />
        </id> 
        <many-to-one name="dimBaseCollect" class="com.model.base.DimBaseCollect" fetch="select">
            <column name="APPL_ID" not-null="true" />
        </many-to-one>
        <property name="applNameUnits" type="java.lang.String">
            <column name="APPL_NAME_UNITS" length="50" not-null="true" />
        </property>
    </class>
</hibernate-mapping>
表4;
<hibernate-mapping>
    <class name="com.conf.base.DimDisputes" table="DIM_DISPUTES">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="identity" />
        </id> 
        <many-to-one name="dimEventDisputes" class="com.model.base.DimEventDisputes" fetch="select">
                <column name="DISP_ID" not-null="true" />
        </many-to-one>
        <property name="dispName" type="java.lang.String">
            <column name="DISP_NAME" length="15" not-null="true" />
        </property>
          <set name="dimBaseCollects" inverse="true">
            <key>
                <column name="INIT_DISP_ID" not-null="true" />
            </key>
            <one-to-many class="com.model.base.DimBaseCollect" />
        </set>
    </class>
</hibernate-mapping>
表5
<hibernate-mapping>
    <class name="com.conf.base.DimEventDisputes" table="DIM_EVENT_DISPUTES">
         <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="identity" />
        </id>   
        <property name="eventDispName" type="java.lang.String">
            <column name="EVENT_DISP_NAME" length="15" not-null="true" />
        </property>
        <property name="billDate" type="java.lang.String">
            <column name="BILL_DATE" length="32" />
        </property>
       <set name="dimBaseCollects" inverse="true" >
            <key>
                <column name="INIT_EVENT_ID" not-null="true" />
            </key>
            <one-to-many class="com.model.base.DimBaseCollect" />
        </set>
        <set name="dimDisputes" inverse="true" >
            <key>
                <column name="DISP_ID" not-null="true" />
            </key>
            <one-to-many class="com.model.base.DimDisputes" />
        </set> 
    </class>
</hibernate-mapping>
为什么还是总报我的Association references unmapped class: com.model.base.DimBaseCollect
急求高手帮解决啊..万分感激...试了好多方法了....都愁死我..在线等...分不够可以再加...

解决方案 »

  1.   


    <hibernate-mapping> 
        <class name="com.conf.base.DimBaseCollect" table="DIM_BASE_COLLECT" lazy="false"> 
            <id name="id" type="java.lang.Integer"> 
                <column name="ID" /> 
                <generator class="identity" /> 
            </id> 
            <many-to-one name="dimEventDisputes" class="com.model.base.DimEventDisputes" fetch="select" lazy="false"> 
                <column name="INIT_EVENT_ID" /> 
            </many-to-one> 
            <many-to-one name="dimDisputes" class="com.model.base.DimDisputes" fetch="select" lazy="false"> 
                <column name="INIT_DISP_ID" /> 
            </many-to-one> 
            <property name="year" type="java.lang.String"> 
                <column name="YEAR" length="4" not-null="true" /> 
            </property> 
            <property name="caseNo" type="java.lang.String"> 
                <column name="CASE_NO" length="10" not-null="true" /> 
            </property> 
            <set name="dimByApplicants" inverse="true" > 
                <key> 
                    <column name="BY_APPL_ID" not-null="true" /> 
                </key> 
                <one-to-many class="com.model.base.DimByApplicant" /> 
            </set> 
            <set name="dimApplicants" inverse="true" > 
                <key> 
                    <column name="APPL_ID" not-null="true" /> 
                </key> 
                <one-to-many class="com.model.base.DimApplicant" /> 
            </set> 
        </class> 
    </hibernate-mapping> 
    表2: 
    <hibernate-mapping> 
        <class name="com.conf.base.DimByApplicant" table="DIM_BY_APPLICANT"> 
            <id name="id" type="java.lang.Integer"> 
                <column name="ID" /> 
                <generator class="identity" /> 
            </id> 
            <many-to-one name="dimBaseCollect" class="com.model.base.DimBaseCollect" fetch="select"> 
                <column name="BY_APPL_ID" not-null="true" /> 
            </many-to-one> 
            <property name="byApplNameUnits" type="java.lang.String"> 
                <column name="BY_APPL_NAME_UNITS" length="50" not-null="true" /> 
            </property> 
        </class> 
    </hibernate-mapping> 
    表3: 
    <hibernate-mapping> 
        <class name="com.conf.base.DimApplicant" table="DIM_APPLICANT"> 
            <id name="id" type="java.lang.Integer"> 
                <column name="ID" /> 
                <generator class="identity" /> 
            </id> 
            <many-to-one name="dimBaseCollect" class="com.model.base.DimBaseCollect" fetch="select"> 
                <column name="APPL_ID" not-null="true" /> 
            </many-to-one> 
            <property name="applNameUnits" type="java.lang.String"> 
                <column name="APPL_NAME_UNITS" length="50" not-null="true" /> 
            </property> 
        </class> 
    </hibernate-mapping> 
    表4; 
    <hibernate-mapping> 
        <class name="com.conf.base.DimDisputes" table="DIM_DISPUTES"> 
            <id name="id" type="java.lang.Integer"> 
                <column name="ID" /> 
                <generator class="identity" /> 
            </id> 
            <many-to-one name="dimEventDisputes" class="com.model.base.DimEventDisputes" fetch="select"> 
                    <column name="DISP_ID" not-null="true" /> 
            </many-to-one> 
            <property name="dispName" type="java.lang.String"> 
                <column name="DISP_NAME" length="15" not-null="true" /> 
            </property> 
              <set name="dimBaseCollects" inverse="true"> 
                <key> 
                    <column name="INIT_DISP_ID" not-null="true" /> 
                </key> 
                <one-to-many class="com.model.base.DimBaseCollect" /> 
            </set> 
        </class> 
    </hibernate-mapping> 
    表5 
    <hibernate-mapping> 
        <class name="com.conf.base.DimEventDisputes" table="DIM_EVENT_DISPUTES"> 
            <id name="id" type="java.lang.Integer"> 
                <column name="ID" /> 
                <generator class="identity" /> 
            </id>  
            <property name="eventDispName" type="java.lang.String"> 
                <column name="EVENT_DISP_NAME" length="15" not-null="true" /> 
            </property> 
            <property name="billDate" type="java.lang.String"> 
                <column name="BILL_DATE" length="32" /> 
            </property> 
          <set name="dimBaseCollects" inverse="true" > 
                <key> 
                    <column name="INIT_EVENT_ID" not-null="true" /> 
                </key> 
                <one-to-many class="com.model.base.DimBaseCollect" /> 
            </set> 
            <set name="dimDisputes" inverse="true" > 
                <key> 
                    <column name="DISP_ID" not-null="true" /> 
                </key> 
                <one-to-many class="com.model.base.DimDisputes" /> 
            </set> 
        </class> 
    </hibernate-mapping> 
    帮你顶下!
      

  2.   

    有时候犯的是基础新错误,比如该hbm文件没有放在hibernate.cfg.xml中等等,楼主仔细检查一下
      

  3.   

    仔细查看一下 com.conf.base.DimBaseCollect 与 这个DIM_BASE_COLLECT 之间的映射关系