unk*_*now 18 java mysql hibernate
MySQL 8是否有Hibernate方言?或者我应该使用Hibernate附带的org.hibernate.dialect.MySQL57Dialect?我正在使用hibernate 5.2.16
小智 26
MySQL8Dialect(org.hibernate.dialect.MySQL8Dialect)在hibernate bundle 5.3.1.Final中可用.你可以用它.
小智 11
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL8Dialect
spring.jpa.properties.hibernate.dialect.storage_engine=innodb
Run Code Online (Sandbox Code Playgroud)
从这里得到
小智 8
是的,对于MySQL8,请使用 org.hibernate.dialect.MySQL8Dialect
如果您正在使用Gradle(例如用于Grails),则只需配置:
在application.yml中
dataSource:
...
driverClassName: com.mysql.cj.jdbc.Driver
dialect: org.hibernate.dialect.MySQL8Dialect
....
Run Code Online (Sandbox Code Playgroud)
在build.gradle中
dependencies {
...
runtime 'mysql:mysql-connector-java:8.0.17'
...
Run Code Online (Sandbox Code Playgroud)
注意mysql-connector版本和不建议使用的驱动程序类名称
小智 5
从 Hibernate 6 开始,org.hibernate.dialect.MySQL8Dialect已弃用。现在推荐使用org.hibernate.dialect.MySQLDialect。请参阅Hibernate JavaDoc以供参考
查看MySQL 8 的发行说明,MySQL 8.x 一直在开发中,自 2018 年 4 月 19 日(不到一个月前)才发布 GA,所以我怀疑是否已经有专门为其制作的方言。
你可以在这里看到所有 hibernate 方言的列表,正如你所看到的,没有 MySQL 8 方言。
MySQLDialect只能用于 MySQL 5 及更早版本,而MySQL57Dialect目前应用于 MySQL 5.x 和 8.x。