【发布时间】:2011-05-28 07:40:11
【问题描述】:
在配置 hibernate.cfg.xml 中,我添加
<property name="hibernate.hbm2ddl.auto">create</property>
当我运行应用程序时,Hibernate 会自动创建表。但是,我通过运行 drop table sql 手动从数据库中删除表。然后再次运行休眠应用程序。出现异常
原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表'test.person'不存在
解决问题的唯一方法是重新启动 Mysql 数据库。谁能为我解释这个问题?
这是我的 hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.url">
jdbc:mysql://localhost/test
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hibernate.hbm2ddl.auto">create</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Mapping files -->
<mapping resource="com/mapping/Event.hbm.xml" />
<mapping resource="com/mapping/Person.hbm.xml"/>
</session-factory>
谢谢
【问题讨论】:
-
你是怎么放下桌子的?在应用程序或命令行中?您是否在删除后停止您的应用程序?
-
感谢您的回复。我通过运行命令行而不是在应用程序中删除表。顺便说一句,我只是发现当我想在我按应用程序创建表后通过应用程序执行另一个操作时。异常也会抛出。有什么线索吗?
标签: hibernate