1

まず、これを読んでくれているすべての人に感謝したいと思います。

アプリケーションのコードを生成しようとしていますが、次のエラーが発生します。

org.hibernate.MappingException: An association from the table
module_application_status refers to an unmapped class: persistenceGen.ModuleApplication
An association from the table module_application_status refers to an unmapped class: persistenceGen.ModuleApplication

これは、エラーを生成するデータベース ダイアグラムの一部です。

ダイアグラム
(出典: akamaihd.net )

起こっているように見えるのは、コード生成が module_application テーブルをモジュール テーブルとアプリケーション テーブルの間の純粋なリンク テーブルとして扱い、ModuleAppication クラスを生成しないことです。

Module クラスの Set を失わずにこのクラスの生成を強制する方法はおそらくありますが、Hibernate フレームワークの使用方法をまだ学んでいるので、方法がわかりません。誰でもそれで私を助けることができますか?要求された追加情報は、速やかにここに掲載されます。

編集: リバース エンジニアリングを使用してファイルを生成しようとしていることを忘れていたと思います。

これが私のcfg.xmlファイルです。pwd 行を削除しただけです。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/domotics</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.default_schema">domotics</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
        <property name="hibernate.search.autoregister_listeners">false</property>
        <mapping class="persistenceGen.Activeusersessions" />
        <mapping class="persistenceGen.Location" />
        <mapping class="persistenceGen.User" />
        <mapping class="persistenceGen.Communication" />
        <mapping class="persistenceGen.SceneModuleApplicationStatus" />
        <mapping class="persistenceGen.Module" />
        <mapping class="persistenceGen.ModuleApplicationStatus" />
        <mapping class="persistenceGen.WaitingApplication" />
        <mapping class="persistenceGen.ModuleApplication" />
        <mapping class="persistenceGen.Scene" />
        <mapping class="persistenceGen.Parameter" />
        <mapping class="persistenceGen.Waiting" />
        <mapping class="persistenceGen.Command" />
        <mapping class="persistenceGen.Application" />
        <mapping class="persistenceGen.Status" />
    </session-factory>
</hibernate-configuration>

編集:

これで、「isManyToManyTable」メソッドをオーバーライドするカスタム リバース エンジニアリング戦略を使用して、リバース エンジニアリングによってファイルを生成できるようになりました。テーブル名を比較し、module_application の場合は false を返します。アソシエーション エラーが発生しなくなりましたが、モジュール クラスに一連のアプリケーションがありません。対処方法を知っている人はいますか?

4

0 に答える 0