2017-03-23 12 views
0

私は次のバージョンの休止状態でJava SEアプリケーションを持っている: INFO:HHH000412:Hibernateのコア{5.2.9.Final} INFO:HCANN000001:休止コモンズアノテーション{5.0.1.Final}Hibernateがテーブルを作成できないのはなぜですか?

それが失敗初期化:entityManagerF = Persistence.createEntityManagerFactory( "mgr");

WARN: GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statement 
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement 
    at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) 
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString(SchemaCreatorImpl.java:440) 
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings(SchemaCreatorImpl.java:424) 
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:315) 
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:166) 
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:135) 
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:121) 
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:155) 
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72) 
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:309) 
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:445) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:889) 
    at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) 
    at entities.HibernateUtil.initialize(HibernateUtil.java:64) 
    at entities.HibernateUtil.getEntityManager(HibernateUtil.java:49) 
    at com.company.RunS.<clinit>(RunS.java:30) 
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'type=MyISAM' at line 104 
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:536) 
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513) 
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115) 
    at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:1983) 
    at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:1936) 
    at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:891) 
    at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:795) 
    at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54) 
    ... 17 more 

とテーブルは、このように作成することができません。次の例外を引き起こす

。誰でも私にHibernateの動作方法を教えてもらえますか?

+0

構文にエラーがあるようにDDLを共有します。 – JRR

+0

[MySQLタイプ= MyISAMエラー]の可能な複製(http://stackoverflow.com/questions/21937789/mysql-type-myisam-error) – Jens

+0

エラー:DDLの最後に ")type = MyISAM"がありますが、私が知っているように ")ENGINE = MyISAM"でなければなりません。しかし、私はどのようにこのエラーを修正するか分かりません、それは自動生成されたスクリプトであり、私は org.hibernate.dialect.MySQLDialect を持っています。私は "INFO:HHH000206:hibernate.propertiesが見つかりませんでした"ログに、おそらくこの演劇? – Catherine

答えて

0

... syntax to use near 'type=MyISAM' ...が問題です。

これは古い構文です。問題を解決するにはtypeengineに変更してください。

Hibernateが間違った構文を生成している場合は、それをアップグレードしてください!

関連する問題