Hibernate:“读取架构错误:读取 mysql.user 的列元数据时出错

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

问题

大家好。我正在尝试使用 Hibernate 对我的 Maven 项目进行逆向工程。但它一直给我这个错误消息:

读取架构错误:读取 mysql.user 的列元数据时出错

Error message

项目详情

Project structure

波姆:

  <dependencies>
      
    <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>8.0.33</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-core -->
    <dependency>
        <groupId>org.hibernate.orm</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>6.2.3.Final</version>
    </dependency>

  </dependencies>
</project>

Hibernate.cfg.xml:

<hibernate-configuration>
 <session-factory name="Conection">
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/busstation</property>
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
 </session-factory>
</hibernate-configuration>

控制台配置: Bus Station CC

MYSQL数据库脚本:

DROP DATABASE IF EXISTS BusStation;
CREATE DATABASE IF NOT EXISTS BusStation;
USE BusStation;

CREATE TABLE IF NOT EXISTS Bus(
    n INT PRIMARY KEY AUTO_INCREMENT,
    sits INT NOT NULL,
    plate CHAR(5) NULL
);

INSERT INTO Bus (sits, plate) VALUES(24, 'AAAAA');
INSERT INTO Bus (sits, plate) VALUES(28, 'AAAAB');
INSERT INTO Bus (sits, plate) VALUES(12, 'AAAAC');
INSERT INTO Bus (sits, plate) VALUES(48, 'AAAAD');

感谢您的宝贵时间。

我试过了

  1. 更改用户名或添加错误的密码,看看是否只是不让其进入。但它说Different Error,所以我放弃了它。
  2. 将 JDK 版本从 17 切换到 1.4(jdk17) 等,同样的错误。
  3. 将数据库切换到默认的“test”,同样的错误。
  4. 切换“com.mysql”依赖的版本,同样的错误。
java mysql hibernate maven xampp
1个回答
0
投票

Hibernate.cfg.xml 缺少一些必要的属性。现在已经修复了。

© www.soinside.com 2019 - 2024. All rights reserved.