Hibernate删除所有表

时间:2015-01-05 14:54:10

标签: hibernate

我想使用hibernate和Java在同一个数据库中保存不同的表。我正在为每个表使用一个类和mainmethod。但是,如果我创建其中一个表,所有以前创建的其他表!表的条目被删除。是否有可能阻止这种行为?

这里是配置:

<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>

2 个答案:

答案 0 :(得分:0)

在您的hibernate配置中,您可能已将hbm.ddl.auto属性设置为create。删除该行。有关详细信息,请参阅this

答案 1 :(得分:0)

好吧,我想我找到了解决方案。我现在为不同的类使用不同的hibernate配置,并按照此处所述加载它们:How to load hibernate.cfg.xml from different location