mysql新版新推了的JSON类型
但是Hibernate官方并没有提供相关支持
于是Hibernate大佬Vlad Mihalcea自己写了个开源库hibernate-types
但是我在使用过程中遇到了问题:
报错 org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
报错很简单,有一个所谓的JDBC类型居然连Hibernate都不认识。这不可报错了吗。但是我都导入大佬的包了啊!为啥你还不认识!而且这个“1111”可太任性了吧!
网上查了下也都是不得要领。
后来自己一点点跟代码,找到org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator这个类的112行,performDatabaseAction这个方法,会执行我们在配置文件里的spring.jpa.hibernate.ddl-auto中的操作,如果这个配置我们配置了除“none”之外的操作,就会报这个错。
看来大佬的包在启动的时候还没有生效。
所以要用JSON和大佬的包还是auto-ddl就看大家了。

PS: 我的Hibernate版本:5.3.10.Final
再PS:如果你有其他错误,请先确认使用版本是否符合你的Hibernate版本


探讨Hibernate在处理MySQL JSON类型时遇到的问题及解决方案。文章分析了Hibernate版本5.3.10.Final中,使用VladMihalcea的hibernate-types库时出现的MappingException错误,详细解释了如何通过调整spring.jpa.hibernate.ddl-auto配置避免在启动时出现未知JDBC类型1111的错误。

818

被折叠的 条评论
为什么被折叠?



