gpt4 book ai didi

hibernate - JPA persistence.xml 不删除所有模式表

转载 作者:行者123 更新时间:2023-12-04 18:05:15 25 4
gpt4 key购买 nike

当我部署到我的 Wildfly 时,我希望我所有的数据库表都将被删除并重新创建。但是一些旧表(旧 Java 实体)仍然存在于我的数据库中。

这是我的persistence.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<persistence 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"
version="2.1">

<persistence-unit name="gestalPU">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/MySQLDS</jta-data-source>

<properties>

<property name="javax.persistence.schema-generation.database.action"
value="drop-and-create" />
<property name="javax.persistence.schema-generation.create-source"
value="metadata" />
<property name="javax.persistence.schema-generation.drop-source"
value="metadata" />
<property name="javax.persistence.sql-load-script-source"
value="insert.sql" />
<property name="javax.persistence.schema-generation.create-database-schemas" value="true"/>
</properties>
</persistence-unit>
</persistence>

最佳答案

drop-and-create 仅删除与当前实体相关的表,它不会清除整个模式。

因此,例如,如果您重命名了一个实体,则与旧实体名称对应的表将保留在数据库中。

关于hibernate - JPA persistence.xml 不删除所有模式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28251525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com