2014-03-25 30 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