0

我制作了一个 Java EE 应用程序,并指定数据库应该是 myISAM 存储引擎:

<properties>
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLMyISAMDialect" />

</properties>

当我使用此配置运行我的应用程序时,不会在数据库中创建任何表。但是当我使用以下代码时:

<properties>
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />

</properties>

..应用程序创建表,但它们在 innoDB 存储中。但我希望它在 myISAM 中,因为如果我保留当前配置,当我想与数据库进行事务时会生成此错误。

#1452 - cannot add or update a child row a foreign key constraint fails

我正在使用 Hibernate 4.2.1 和 MySQL v 5.5.34

我在这个链接上使用了解决方案,

 <properties>
                <property name="hibernate.show_sql" value="true" />
                <property name="hibernate.hbm2ddl.auto" value="update" />
                <property name="hibernate.dialect" value="mypackage.MySQL5MyISAMDialect" />

    </properties>

但它没有帮助,因为当我想使用它时,我收到一个错误,告诉我mypackage.MySQL5MyISAMDialect找不到该类。

4

0 回答 0