Java 表不是从hibernate在mysql中创建的

Java 表不是从hibernate在mysql中创建的,java,hibernate,Java,Hibernate,未使用hibernate在数据库中创建表。我无法找出配置中的错误。我已经在下面发布了我得到的错误跟踪和我所有的类/配置 错误跟踪: 我的模型课: 我的hibernate配置文件: 链接 建议它应该是hibernate.hbm2ddl.auto 所以只需更正您的创建行代码中的问题是您提到的是hmb2ddl.auto而不是hibernate.hbm2ddl.auto,而且它有拼写错误 所以将其更改为create您不应该使用数据库的保留关键字。喜欢的用户 用户属性之一 <property nam

未使用hibernate在数据库中创建表。我无法找出配置中的错误。我已经在下面发布了我得到的错误跟踪和我所有的类/配置

错误跟踪:

我的模型课:

我的hibernate配置文件:

链接 建议它应该是hibernate.hbm2ddl.auto


所以只需更正您的创建行

代码中的问题是您提到的是hmb2ddl.auto而不是hibernate.hbm2ddl.auto,而且它有拼写错误


所以将其更改为create

您不应该使用数据库的保留关键字。喜欢的用户

用户属性之一

<property name="hibernate.hbm2ddl.auto">create-drop</property>
<property name="hibernate.hbm2ddl.auto">create</property>
并将表名从user更改为其他名称my_user、user_model、test_user

用户是保留关键字,因此可能会出现问题。如果您尝试运行由控制台中显示的hibernate生成的创建查询,您将看到它没有正确执行

<property name="hmb2ddl.auto">create</property>


你为什么认为应该创建它?你能指出我错在哪里吗。我不熟悉hibernate。hibernate的目的是将您的类映射到数据库中的一组表,它不会为您创建它们,您必须手动创建它们。hmb2ddl.auto->hbm2ddl.auto,typo。顺便说一句,你显然已经与Hibernate合作很长时间了。谢谢。。这真是一个愚蠢的错误
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>

        <property name="connection.url">jdbc:mysql://localhost:3306/jh</property>
        <property name="connection.username">root</property>

        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <property name="connection.pool_size">1</property>

        <property name="hmb2ddl.auto">create</property> 
        <property name="show_sql">true</property>
        <mapping class="models.User" /> 
    </session-factory>

</hibernate-configuration>
 SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
    Session session=sessionFactory.openSession();
    session.beginTransaction();
    User resultUser= (User) session.save(user);
    session.getTransaction().commit();
<property name="hibernate.hbm2ddl.auto">create-drop</property>
<property name="hibernate.hbm2ddl.auto">create</property>
<property name="hmb2ddl.auto">create</property>
<property name="hbm2ddl.auto">create</property>