Как создать схему для объекта JPA - PullRequest
0 голосов
/ 28 июля 2011

У меня есть объект JPA для "Пользователь".Я хочу сгенерировать SQL-оператор для этой сущности, используя плагин maven hibernate3.Я попытался использовать файл persistence.xml, настроенный в https://stackoverflow.com/questions/6855119/how-to-generate-schema-through-hibernate3hbdml-in-persistence-xml, но моя конфигурация не удалась.Как настроить persistence.xml для любой простой базы данных и получить доступ к таблице, созданной с помощью плагина maven hibernate3: hbm2ddl.

1 Ответ

5 голосов
/ 30 июля 2011

Вот мой пример конфигурации для HSQLdb, который генерирует src/main/resources/db-scheme.sql:

From pom.xml:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>hibernate3-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <components>
            <component>
                <name>hbm2ddl</name>
                <implementation>jpaconfiguration</implementation>
                <outputDirectory>
                    src/main/resources
                </outputDirectory>
            </component>
        </components>
        <componentProperties>
            <console>false</console>
            <format>true</format>
            <jdk5>true</jdk5>
            <propertyfile>
                src/main/resources/database.properties
            </propertyfile>
            <outputfilename>db-scheme.sql</outputfilename>
            <export>false</export>
        </componentProperties>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.6.5.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>3.6.5.Final</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
        </dependency>
    </dependencies>
</plugin>

src/main/resources/database.properties:

hibernate.formatSql=true
hibernate.hbm2ddl.auto=validate

# needed for hibernate3-maven-plugin
hibernate.dialect=org.hibernate.dialect.HSQLDialect

src/main/resources/META-INF/persistence.xml:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
    <persistence-unit name="DefaultPersistenceUnit" transaction-type="RESOURCE_LOCAL" />
</persistence>

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...