Hibernate 删除所有表
Hibernate dropping all tables
我想使用带 Java 的休眠功能将不同的 table 保存在同一个数据库中。我正在为每个 table 使用一个 class 和 mainmethod。但是,如果我创建了这些 table 之一,所有以前创建的其他! table 的条目已删除。是否有可能阻止这种行为?
这里是配置:
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://localhost:5432/Hibernatetest</property>
<property name="connection.username">postgres</property>
<property name="connection.password">password</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</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="basePackage.Table1" />
<mapping class="basePackage.Table2" />
<mapping class="basePackage.Table3" />
<mapping class="basePackage.Table4" />
<mapping class="basePackage.Table5" />
</session-factory>
在您的休眠配置中,您可能已将 hbm.ddl.auto
属性 设置为 create
。删除该行。详情见this
好的,我想我找到了解决办法。我现在为不同的 类 使用不同的休眠配置,并按照此处所述加载它们:How to load hibernate.cfg.xml from different location
我想使用带 Java 的休眠功能将不同的 table 保存在同一个数据库中。我正在为每个 table 使用一个 class 和 mainmethod。但是,如果我创建了这些 table 之一,所有以前创建的其他! table 的条目已删除。是否有可能阻止这种行为?
这里是配置:
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://localhost:5432/Hibernatetest</property>
<property name="connection.username">postgres</property>
<property name="connection.password">password</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</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="basePackage.Table1" />
<mapping class="basePackage.Table2" />
<mapping class="basePackage.Table3" />
<mapping class="basePackage.Table4" />
<mapping class="basePackage.Table5" />
</session-factory>
在您的休眠配置中,您可能已将 hbm.ddl.auto
属性 设置为 create
。删除该行。详情见this
好的,我想我找到了解决办法。我现在为不同的 类 使用不同的休眠配置,并按照此处所述加载它们:How to load hibernate.cfg.xml from different location