我不明白为什么每次重新部署我的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>
感谢您的任何想法。
答案 0 :(得分:1)
更改该属性
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
通过
<property name="hibernate.hbm2ddl.auto" value="update"/>