2014-03-25 9 views
0

我部署了一个应用程序hibernate.hbm2ddl.auto =创建,发现我的很多表被丢弃!我曾经做过同样的事情,但是使用EclipseLink而不是Hibernate,数据库返回表已经存在,这意味着它只启动create table。 我怀疑有hibernate.hbm2ddl.auto设置为“创建”,如果删除,然后创建表。奇怪的hibernate.hbm2ddl.auto行为

任何人都可以证实我的疑惑? 感谢您的帮助。

+0

http://stackoverflow.com/questions/438146/hibernate-hbm2ddl-auto-possible-values-and-what-they-do – Reddy

回答

0

这是我的hibernate配置文件,它的工作原理。

<!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD//EN" 
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 

     <!-- Database connection settings --> 
     <property name="connection.driver_class">org.h2.Driver</property> 
     <property name="connection.url">jdbc:h2:tcp://localhost/mem:test:MVCC=true;INIT=create schema IF NOT EXISTS OVT;DB_CLOSE_DELAY=10</property> 
     <property name="connection.username">sa</property> 
     <property name="connection.password"></property> 

     <!-- JDBC connection pool (use the built-in) --> 
     <property name="connection.pool_size">100</property> 

     <!-- SQL dialect --> 
     <property name="dialect">org.hibernate.dialect.H2Dialect</property> 

     <!-- Disable the second-level cache --> 
     <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> 

     <!-- Echo all executed SQL to stdout --> 
     <property name="show_sql">true</property> 

     <!-- Drop and re-create the database schema on startup --> 
     <property name="hbm2ddl.auto">create</property> 

     <mapping class="model.concretes.varlik.Tasit" /> 
     <mapping class="model.concretes.varlik.Kisi" /> 
     <mapping class="model._framework.concretes.varlik.Log" /> 
     <mapping class="model._framework.concretes.varlik.Yetki" /> 
    </session-factory> 
</hibernate-configuration> 
+0

我知道一个验证做工精细 – raccio

+0

如果你仔细看一下连接网址,有一些参数。 – erk