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