1

アフィリエイト クラスの構成は次のとおりです。

<class name="AffiliatesDO" table="AFFILIATES">
    <id name="affiliateId" column="affiliate_id" type="java.lang.String">
        <generator class="assigned" />
    </id>
    <property name="customerId" column="customer_id" type="int" />
    <property name="affiliateType" column="affiliate_type" type="java.lang.String" />
    <property name="site" column="site" type="java.lang.String" />
    <property name="status" column="status" type="java.lang.String" />
    <property name="createdBy" column="created_by" type="java.lang.String" />
    <property name="creationDate" column="creation_date" type="java.util.Date" />
    <property name="lastUpdatedBy" column="last_updated_by" type="java.lang.String" />
    <property name="lastUpdated" column="last_updated" type="java.util.Date" />
      <set name="address" lazy="true" inverse="true" order-by="address_id asc">
        <key column="address_id"/>
        <one-to-many class="AddressDO"/>
    </set>
</class>

Address クラスの構成は次のとおりです。

<class name="Address"
    table="Address">
    <id name="addressId" column="address_id"
        type="java.lang.String">
        <generator class="assigned" />
    </id>


    <property name="name" column="name" type="java.lang.String" />

    <property name="address1" column="address1" type="java.lang.String" />


    <property name="phone" column="phone" type="java.lang.String" />

    <property name="landLineNumber" column="land_line_number" type="java.lang.String" />

    <property name="faxNumber" column="fax_number" type="java.lang.String" />

</class>

以下のエラーが表示されます

org.hibernate.MappingException: Association references unmapped class: com.infibeam.customerservice.dbObjects.AddressDO
at org.hibernate.cfg.HbmBinder.bindCollectionSecondPass(HbmBinder.java:2370)
at org.hibernate.cfg.HbmBinder$CollectionSecondPass.secondPass(HbmBinder.java:2652)
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:43)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1054)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:296)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1039)
at org.codehaus.mojo.hibernate3.configuration.AbstractComponentConfiguration.getConfiguration(AbstractComponentConfiguration.java:38)
at org.codehaus.mojo.hibernate3.HibernateExporterMojo.configureExporter(HibernateExporterMojo.java:186)
at org.codehaus.mojo.hibernate3.exporter.Hbm2JavaGeneratorMojo.configureExporter(Hbm2JavaGeneratorMojo.java:69)

私が犯した間違いを親切に教えてください.. 1対多の関係AffiliateDO->AddressDOを使用したい

4

2 に答える 2

1

親クラスのマッピングがAddressDOを参照しているように見えますが、後続の子マッピングはAddressを参照しています(「DO」なし)...推測する必要がある場合は、2番目のマッピングをAddressDOに変更する必要があります(またはその逆)。 )。とにかく、私にはタイプミスのように見えます。

于 2012-06-14T12:00:37.813 に答える
0

Do を Addrees xml のタイプミスとして考えると、アドレス マッピングが間違っているようです。現在、address_id は多対 1 である必要があり、新しいものを生成する必要があります。

于 2012-06-14T12:05:13.020 に答える