Hibernate在重新部署时擦除MariaDB表

时间:2016-09-27 13:38:34

标签: hibernate mariadb

我不明白为什么每次重新部署我的JEE7网络应用程序时,Hibernate都会一直擦除表内容,尽管服务器输出中没有例外,持久性,数据源,外观和实体运行良好。 我使用MariaDB作为数据库,使用HeidiSQL进行数据库管理。 对于某些测试目的,我在使用HeidiSQL填充表格以尝试某些表格,但在重新部署应用程序时表格会被删除。

这是persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"    
        xmlns="http://xmlns.jcp.org/xml/ns/persistence" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
            http://xmlns.jcp.org/xml/ns/persistence
            http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="em" transaction-type="JTA">
        <jta-data-source>java:jboss/datasources/mariadbds</jta-data-source>
        <class>my.company.myapp.model.Entity1</class>
        <class>my.a.myapp.model.Entity2</class>
        <class>my.company.myapp.model.Entity3</class>
        <class>my.company.myapp.model.Entity4</class>
        <class>my.company.myapp.model.Entity5</class>
        <class>my.company.myapp.model.Entity6</class>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
                <property name="hibernate.show_sql" value="false"/>
               <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
        </properties>
    </persistence-unit>
</persistence>

感谢您的任何想法。

1 个答案:

答案 0 :(得分:1)

更改该属性

<property name="hibernate.hbm2ddl.auto" value="create-drop"/>

通过

<property name="hibernate.hbm2ddl.auto" value="update"/>