Как использовать hibernate4-maven-plugin для генерации нескольких схем диалектов?


Я хочу использовать hibernate4-maven-plugin для создания схемы базы данных в SQL.

Но у меня есть условие: я хочу генерировать 3 схемы одновременно:

  • один для Postgres,
  • один для Оракула и
  • Еще один для SQL Server.

Вот моя конфигурация:

<plugin>
    <groupId>de.juplo</groupId>
    <artifactId>hibernate4-maven-plugin</artifactId>
    <version>1.0.3</version>
    <executions>
        <execution>
            <goals>
                <goal>export</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <hibernateDialect>org.hibernate.dialect.PostgreSQLDialect</hibernateDialect>

        <!-- I want generate the schemas for these dialects too, at same time... -->
        <!-- <hibernateDialect>org.hibernate.dialect.Oracle10gDialect</hibernateDialect>-->
        <!-- <hibernateDialect>org.hibernate.dialect.SQLServerDialect</hibernateDialect>-->

        <target>SCRIPT</target>
    </configuration>
</plugin>
Я смотрю на официальные документы (ссылка выше), но не ясно, возможно ли это или нет.

Есть способ сделать это с помощью hibernate4-maven-плагин?

Спасибо!

1 2

1 ответ:

Вы можете создать 3 исполнения из плагина, каждое из которых использует определенный диалект

<plugin>
<groupId>de.juplo</groupId>
<artifactId>hibernate4-maven-plugin</artifactId>
<version>1.0.3</version>
<executions>
    <!-- postgres -->
    <execution>
        <id>postgres</id>
        <goals>
            <goal>export</goal>
        </goals>
        <configuration>
            <hibernateDialect>org.hibernate.dialect.PostgreSQLDialect</hibernateDialect>
            <target>SCRIPT</target>
            <outputFile>${project.build.directory}/postgres-schema.sql.</outputFile>
        </configuration>
    </execution>
    <!-- oracle -->
    <execution>
        <id>oracle</id>
        <goals>
            <goal>export</goal>
        </goals>
        <configuration>
            <hibernateDialect>org.hibernate.dialect.Oracle10gDialect</hibernateDialect>
            <target>SCRIPT</target>
            <outputFile>${project.build.directory}/oracle-schema.sql.</outputFile>
        </configuration>
    </execution>
    <!-- sql-server -->
    <execution>
        <id>sql-server</id>
        <goals>
            <goal>export</goal>
        </goals>
        <configuration>
            <hibernateDialect>org.hibernate.dialect.SQLServerDialect</hibernateDialect>
            <target>SCRIPT</target>
            <outputFile>${project.build.directory}/sqlserver-schema.sql.</outputFile>
        </configuration>
    </execution>
</executions>