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