重新部署时 Hibernate erase MariaDB table
Hibernate erase MariaDB table on redeployment
我不明白为什么每次我重新部署我的 JEE7 网络应用程序时 Hibernate 都会擦除 table 内容,尽管服务器输出中没有异常并且持久性、数据源、外观和实体都在工作出色地。
我使用 MariaDB 作为数据库,使用 HeidiSQL 进行数据库管理。
出于某些测试目的,我正在使用 HeidiSQL 填充 table 以尝试一些表单,尽管当我重新部署应用程序时 table 被删除。
这是 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>
感谢任何想法。
更改 属性
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
来自
<property name="hibernate.hbm2ddl.auto" value="update"/>
我不明白为什么每次我重新部署我的 JEE7 网络应用程序时 Hibernate 都会擦除 table 内容,尽管服务器输出中没有异常并且持久性、数据源、外观和实体都在工作出色地。 我使用 MariaDB 作为数据库,使用 HeidiSQL 进行数据库管理。 出于某些测试目的,我正在使用 HeidiSQL 填充 table 以尝试一些表单,尽管当我重新部署应用程序时 table 被删除。
这是 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>
感谢任何想法。
更改 属性
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
来自
<property name="hibernate.hbm2ddl.auto" value="update"/>