Java Hibernate说database.table不';不存在
形势 好的,我正在学习Hibernate(从2天开始,请原谅我的错误),我正在使用mysql数据库,并尝试创建一个表Java Hibernate说database.table不';不存在,java,mysql,hibernate,Java,Mysql,Hibernate,形势 好的,我正在学习Hibernate(从2天开始,请原谅我的错误),我正在使用mysql数据库,并尝试创建一个表Employee,在数据库中创建一个条目(演示) 以下是代码 POJO: package com.sopra.pojo; import javax.persistence.*; @Entity @Table(name = "EMPLOYEE") public class Employee { @Id private int Id; private Strin
Employee
,在数据库中创建一个条目(演示)
以下是代码
POJO:
package com.sopra.pojo;
import javax.persistence.*;
@Entity
@Table(name = "EMPLOYEE")
public class Employee {
@Id
private int Id;
private String firstName;
private String lastName;
private int salary;
public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
hibernate.cfg.xml位于src
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.pool_size">1</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name = "hibernate.hbm2ddl.auto">create</property>
<mapping class="com.sopra.pojo.Employee" />
</session-factory>
</hibernate-configuration>
错误
原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表“test.employee”不存在
我试过了
update
谢谢。添加不同的hibernate自动选项 使用而不是
create
、update
或create drop
<property name="hibernate.hbm2ddl.auto">update</property>
更新
或
createdrop
你可以阅读更多关于它的内容
我让它工作了,我不确定这是否是一个正确的答案,但因为它得到了工作,我张贴它作为一个答案。 我做了两个改动
version 5.2.12
,因此我将其更改为4.2.0,并从另外两个我以前没有使用的文件夹中添加了JAR(总之,我现在已从以下文件夹导入JAR:hibernate用户库中的可选、提供和必需文件夹)<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
所以,我错了
无论如何,我们非常感谢关于改进此答案以及为什么它能起作用的评论。可能的重复可能不是因为我尝试了该解决方案,但没有起作用@FrancisBartkowiakHow您是否生成了表格(即员工)在您的本地数据库中?请参阅新的editUse@Table注释,了解实体数据库中的表名是什么?检查是否有输入错误。数据库中没有表,我想通过hibernate创建它。
<property name="hibernate.hbm2ddl.auto">create-drop</property>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">`