gpt4 book ai didi

java - Hibernate 找不到书来创建表

转载 作者:行者123 更新时间:2023-11-29 07:25:41 25 4
gpt4 key购买 nike

在处理来自互联网的代码时,我收到错误

Exception in thread "main" org.hibernate.MappingException: Unknown entity: Book

Book.java

public class Book {

private String isbn;
private String title;
private String author;

public Book() {
}
//getters and setters

保存数据:

            Configuration cfg = new Configuration().configure("hibernate.cfg.xml");

SessionFactory sf = cfg.buildSessionFactory(new StandardServiceRegistryBuilder().applySettings(
cfg.getProperties()).build());


Session session = sf.openSession();

session.beginTransaction();
Book book = new Book("12345767", "Welcome to hibernate","Test");
session.save(book);
session.getTransaction().commit();
System.out.println("data saved");
System.out.println("<------>");
session.close();
sf.close();

}
}

Hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection Settings -->
<property name="connection.driver_Class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/test</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- JDBC connection pool -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Disable the second level cache -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="Book.hbm.xml" />
</session-factory>
</hibernate-configuration>

Book.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Book" table="books">
<id name="isbn">
<generator class="auto" />
</id>
<property name="title" />
<property name="author" />
</class>
</hibernate-mapping>

我无法解决此错误,因为我已在映射文件中提供了所有内容。有什么方法可以解决此问题吗?

最佳答案

您的错误日志清楚地表明 Hibernate 无法找到 jdbc:mysql 的合适驱动程序。

<强>1。您是否在项目中添加了 MySQL JDBC 驱动程序库?

<强>2。您尚未在 hibernate.cfg.xml 文件中的以下行提供端口号:-

<property name="connection.url">jdbc:mysql://localhost/test</property>

将此行替换为

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>

关于java - Hibernate 找不到书来创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34629818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com