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