EclipseLinkの実行時にデータベースを動的に再作成する方法はありますか?EclipseLinkを使用して実行時にデータベースを再作成
今、私はそれを持っているデータベースが存在しない場合、それはコンパイル時にデータベースを作成すること:
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="DefaultUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.ddl-generation.output-mode"
value="database" />
<property name="eclipselink.logging.level" value="INFO" />
<property name="eclipselink.logging.level.sql" value="INFO" />
<property name="javax.persistence.schema-generation.database.action"
value="create" />
</properties>
</persistence-unit>
</persistence>
しかし、私はドロップできるようにしたい、そしてアプリケーションがある一方で、データベースを再作成しますランニング。 I.Eユーザが特別なフラグを渡すと、現在のデータベースを削除して再生成するものを呼びたいと思う。
私はあなたが休止状態であなたはpersistence.xmlのに<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
を追加することができますSchemaExport class
私はそれをしたくないのです。私はテーブルを削除し、いくつかのフラグに基づいて再作成したいだけです(これは設定の設定として渡すことができます) – user171943