Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在何处放置hibernate.dialogue.storage\u引擎属性_Java_Mysql_Hibernate - Fatal编程技术网

Java 在何处放置hibernate.dialogue.storage\u引擎属性

Java 在何处放置hibernate.dialogue.storage\u引擎属性,java,mysql,hibernate,Java,Mysql,Hibernate,我使用mysql5innodbdialent替换mysql5innodbdialent,因为旧的已经不推荐了 package org.hibernate.dialect; /** A Dialect for MySQL 5 using InnoDB engine * * @author Gavin King, * @author Scott Marlow * @deprecated Use "hibernate.dialect.storage_engine=innodb" envir

我使用
mysql5innodbdialent
替换
mysql5innodbdialent
,因为旧的已经不推荐了

package org.hibernate.dialect;

/** A Dialect for MySQL 5 using InnoDB engine
 *
 * @author Gavin King,
 * @author Scott Marlow
 * @deprecated Use "hibernate.dialect.storage_engine=innodb" 
environment variable or JVM system property instead.
 */
@Deprecated
public class MySQL5InnoDBDialect extends MySQL5Dialect {

@Override
protected MySQLStorageEngine getDefaultMySQLStorageEngine() {
    return InnoDBStorageEngine.INSTANCE;
    }
}
我的hibernate.cfg.xml是:

<?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.show_sql">true</property>
    <property name="hibernate.id.new_generator_mappings">false</property>
    <property name="hibernate.hbm2ddl.auto">create</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
    <property name="hibernate.dialect.storage_engine">innodb</property>
    <property name="hibernate.cache.use_second_level_cache">false</property>
  </session-factory>
</hibernate-configuration>

真的
假的
创造
org.hibernate.dialogue.mysql5dialogue
innodb
假的
遗憾的是,Hibernate仍然使用
engine=MyISAM
创建表

我应该把
hibernate.dialogue.storage\u engine
属性放在哪里?我在官方网页上找不到
hibernate.cfg.xml
的所有属性!真烦人

任何有效的链接都将受到欢迎。

根据这一点,如果您想坚持使用
mysql5dial
,您应该设置环境或JVM变量使其工作

或者,您可以切换到MySQL55方言,默认设置为
innoDb

public class MySQL55Dialect extends MySQL5Dialect {

        @Override
        protected MySQLStorageEngine getDefaultMySQLStorageEngine() {
                return InnoDBStorageEngine.INSTANCE;
        }
}

将xml配置文件中的属性hibernate.dialogue设置为mysql5dialogue

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
或者,对于某些web应用程序容器(例如Tomcat),添加

到容器/web服务器的配置

java -Xmx4G -Dhibernate.dialect.storage_engine=innodb -jar application.jar
-Dhibernate.dialect.storage_engine=innodb