jpa自动建表字符集默认为latin,需要改成utf8的操作方法

 

1、添加一个自定义方言,重写MySQL57InnoDBDialect类,修改建表create语句。

package cn.com.tech.hibernate.cfg;

import org.hibernate.dialect.MySQL57InnoDBDialect;

public class DefaultMySQL57InnoDBDialect extends MySQL57InnoDBDialect {
	@Override
	public String getTableTypeString() {
		return " ENGINE=InnoDB DEFAULT CHARSET=utf8";
	}
}

注意:根据不同的mysql版本重写不同的方言类,如图:

jpa自动建表字符集默认为latin,需要改成utf8的操作方法_第1张图片

 

2、修改application.propites配置文件,增加jpa方言配置

spring.jpa.properties.hibernate.dialect =cn.com.tech.hibernate.cfg.DefaultMySQL57InnoDBDialect

 

你可能感兴趣的:(java,mysql,jpa)