私はSpringブート2.0.0.M6とSpring Data JPAを使用して新しいアプリケーションを開発しています。私はMariaDB v10を使用しています。 以下は私のdevのプロパティファイルです。Springブート2のMariaDBでInnoDBまたはXtraDBをストレージエンジンとして選択する方法JPAアプリケーション
spring.jpa.hibernate.ddl-auto=create-drop
spring.datasource.url=jdbc:mariadb://localhost:3306/testdb
spring.datasource.username=user
spring.datasource.password=
spring.jpa.show-sql=true
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
org.hibernate.dialect.Dialect=MariaDB53Dialect
spring.jooq.sql-dialect=MariaDB53Dialect
私は出力を得る:
Hibernate: create table hibernate_sequence (next_val bigint) engine=MyISAM
私はストレージエンジンを変更することはできませんよ。すべてのテーブルは、ストレージエンジンMyISAMを使用して作成されています。
他のストレージエンジンを使用して手動でテーブルを作成することができます。しかし何らかの理由で、SpringやHibernateはMyISAMエンジンにしかフォールバックしません。
純粋なHibernate-Javaアプリケーションでは、HibernateはデフォルトとしてInnoDBを使用します。
INFO: HHH000412: Hibernate Core {5.2.11.Final}
Hibernate: create table hibernate_sequence (next_val bigint) engine=InnoDB
Springブートプロパティからデータベースストレージエンジンを無効にする方法はありますか? Hibernateは5.2.12で
おかげ
は確かですどちらの場合も同じ設定を使用していますか?恐らく、方言やストレージエンジン( 'hibernate.dialect.storage_engine')の設定が異なっているかもしれません。両方の[minimal examples](/ help/mcve)を提供できますか? –
@AndyWilkinson私は 'hibernate.dialect.storage_engine = InnoDB'を使用しましたが、同じ結果が出ました。私は数時間でコードを投稿します。 – abcdef12
@AndyWilkinson私は非常に単純なアプリケーション[インラインリンク](https://github.com/icewheel/springjpshibernatedemo.git)を投稿しました。それを実行し、ログを参照してください。私はデバッグしています。 – abcdef12