无法将名称 [org.hibernate.dialect.MySQL55Dialect] 解析为策略 [org.hibernate.dialect.Dialect]

问题描述 投票:0回答:1

我是 Spring 应用程序的新手。运行我的项目以根据我创建的类创建数据库对象,我收到以下错误: 无法将名称 [org.hibernate.dialect.MySQL5Dialect] 解析为策略 [org.hibernate.dialect.Dialect]

enter image description here

我添加了这些依赖项:

<dependencies>
    
    <!-- https://mvnrepository.com/artifact/javax.persistence/javax.persistence-api -->
<dependency>
    <groupId>javax.persistence</groupId>
    <artifactId>javax.persistence-api</artifactId>
    <version>2.2</version>
</dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
java spring spring-boot maven spring-tool-suite
1个回答
0
投票

MySQL55Dialect
已弃用并从 Hibernate 6.2 中的 hibernate-core 中删除

请参阅删除对旧数据库版本的支持

此版本引入了 Hibernate 支持的大多数数据库方言的最低支持数据库版本的概念。这意味着供应商不再支持的版本的遗留代码已从 hibernate-core 模块中删除。然而,它仍然可以在 hibernate-community-dialects 模块中使用,只是在不同的包下,即 org.hibernate.community.dialect 而不是 org.hibernate.dialect。请注意,这还包括版本特定的方言,例如 PostgreSQL81Dialect、MariaDB102Dialect 等。

支持的最低方言版本如下:

MySQL 5.7

这给你留下了两个选择:

  • 使用
    MySQLDialect
  • 导入
    hibernate-community-dialects
    并使用
    MySQL55Dialect
© www.soinside.com 2019 - 2024. All rights reserved.