读书人

hibernate自动删除以前的表,该如何处理

发布时间: 2012-06-15 19:37:05 作者: rapoo

hibernate自动删除以前的表

XML code
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration>    <session-factory name="foo">        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>        <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:test</property>        <property name="hibernate.connection.username">test</property>        <property name="hibernate.connection.password">test</property>        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>        <property name="hiernate.hbm2ddl.auto">validate</property>        <property name="hibernate.show_sql">true</property>        <mapping resource="com/asm/hibernate/domain/Student.hbm.xml"/>        <mapping resource="com/asm/hibernate/domain/Teacher.hbm.xml"/>     </session-factory></hibernate-configuration>

这是我的hibernate.cfg.xml文件,不管我把hbm2ddl.auto配置成什么值,结果都会把以前建的表删除掉。我的java代表中并没有创建表的语句,请问这是为什么啊????
小弟刚学hibernate,请大侠们帮帮忙,只用到hibernate,没有struts spring.

[解决办法]
<!-- 启动时删数据库中的表,然后创建,退出时不删除数据表
<property name="hbm2ddl.auto">create</property>-->
<!-- 启动时删数据库中的表,然后创建,退出时自动删除所有表
<property name="hbm2ddl.auto">create-drop</property>-->
<!-- 自动修改,如果表结构与实体类不一致,那么就更新表结构,数据会保留
(如果原表不存在,就创建新表;如果缺少相应的字段,就加入;对于原来存在的多余字段,不作处理)
<property name="hbm2ddl.auto">update</property>-->
<!-- 自动校验,如果表结构与实体类不一致,那么不做任何操作,报错
<property name="hbm2ddl.auto">validate</property>-->

读书人网 >J2EE开发

热点推荐