当前位置: 代码迷 >> J2EE >> hibernate自动删除以前的表,该如何处理
  详细解决方案

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

热度:54   发布时间:2016-04-22 01:16:33.0
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>-->
  相关解决方案