Java-解决实现JPA的hibernate自动建表的编码问题

继续这一个系列,这次讲JPA编码问题的解决。

本系列:

(一)J2EE项目系列(三)–Spring Data JPA+Spring+SpringMVC+Maven快速开发(1)项目架构

(二) J2EE项目系列(三)–Spring Data JPA+Spring+SpringMVC+Maven快速开发(2)多个第三方服务端接入之云旺IM

hibernate自动建表的编码应该是数据默认的编码格式latin1_swedish_ci,所以我们直接自动建表,即使你给persistenceUnitName的持久单元设定了utf8,还是使用latin1编码的。

因为什么呢??因为你使用的hibernate方言问题,对应mysql的翻译的方言。

所以我们怎么做??

(1)继承MySQL5InnoDBDialect覆写方法:

像安卓的自定义控件一样,为了多样化的控件,我们需要自己去开发新控件,就是去使用继承的原理,覆写父类方法。

public class MySQL5DialectUTF8 extends MySQL5InnoDBDialect {

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

(2)在持久化单元引用这个被覆写的方言:

<!-- 使用MySQL方言 -->
			<property name="hibernate.dialect" value="com.ima.utils.MySQL5DialectUTF8"/>

源码下载:J2EE项目系列(三)–Spring Data JPA+Spring+SpringMVC+Maven快速开发(3)解决hibernate自动建表的编码问题

结语

J2EE项目系列(三)–Spring Data JPA+Spring+SpringMVC+Maven快速开发(3)解决hibernate自动建表的编码问题讲完了。本博客是这个系列的第三篇,所以讲得一些细节坑。另外,这个系列还有一些我在外包项目过程中做的优化,我会尽快出完给大家,分享经验给大家。欢迎在下面指出错误,共同学习!!你的点赞是对我最好的支持!!

更多内容,可以访问JackFrost的博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值