JDBC类型的没有方言映射:1111

我正在使用MySQL作为数据库的Spring JPA应用程序。我确保已加载所有spring-jpa库,hibernate和mysql-connector-java。

我正在运行mysql 5实例。这是我的application.properties文件的摘录:

spring.jpa.show-sql=false

spring.jpa.hibernate.ddl-auto=create-drop

spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect

spring.datasource.url=jdbc:mysql://localhost/mydatabase

spring.datasource.username=myuser

spring.datasource.password=SUPERSECRET

spring.datasource.driverClassName=com.mysql.jdbc.Driver

执行集成测试时,spring可以正常启动,但无法创建hibernate的SessionFactory,但以下情况除外:

org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111

我认为我的方言应该是Mysql5Dialect,我还尝试了一个明确说明InnoDB的方言,以及两个不指示版本5的方言选项。但是,我总是以相同的“没有JDBC类型的方言映射:1111”消息结束。我的application.properties文件位于test / resources源文件夹中。JUnit Test运行器可以识别它(我以前因为输入错误而出现了异常)。

我设置的属性有误吗?我找不到有关这些属性名称的一些官方文档,但在此stackoverflow答案中找到了提示:https : //stackoverflow.com/a/25941616/1735497

期待你的回答,谢谢!

BTW该应用程序已在使用Spring Boot。

回答:

这是基于SubOptimal的评论的答案:

该错误消息实际上表明无法通过hibernate将一种列类型映射到数据库类型。就我而言,这是java.util.UUID我在某些实体中用作主键的类型。只需应用注释@Type(type="uuid-char")(对于postgres @Type(type="pg-uuid")

以上是 JDBC类型的没有方言映射:1111 的全部内容, 来源链接: utcz.com/qa/428250.html

回到顶部