gpt4 book ai didi

java - 找不到 hibernate 表

转载 作者:行者123 更新时间:2023-11-30 08:12:25 26 4
gpt4 key购买 nike

这是我的实体

@Entity
public class User {

@Id
private int id;
private String name;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

这是我的 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>
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>

<!-- Assume test is the database name -->
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/test
</property>
<property name="hibernate.connection.username">
root
</property>
<property name="hibernate.connection.password">
root
</property>

<!-- List of XML mapping files -->
<mapping class="User"/>

</session-factory>
</hibernate-configuration>

我有一个名为 test 的空数据库,其用户名和密码为“root”。但是当我尝试创建一个用户并将其保存到数据库时,我得到一个异常提示

Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not execute statement

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'test.user' doesn't exist

我做错了什么?

最佳答案

这是因为 test.user 在数据库中不可用。

要么你需要在启动你的应用服务器之前创建表

(或)

将hibernate DDL生成设置为true,让hibernate创建不存在的表。 (不要在生产或 QA 环境中这样做,因为这不是一个好的做法)。

将其添加到 hibernate 属性列表中。

<property name="hibernate.hbm2ddl.auto">update</property>

关于java - 找不到 hibernate 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509283/

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