Maven с инструментами гибернации

Я пытаюсь сгенерировать мои классы и hibernate.cfg.xml с помощью Maven. Ну, у меня есть классы в моем проекте, которые зависят от сгенерированных файлов Java, поэтому мне, вероятно, придется выполнить этот процесс при очистке проекта или так? Я не знаю, как настроить это для работы, так что это один вопрос. Ну, у меня есть файл database.properties, который в порядке, и много файлов hbm.xml, которые я изменил. Теперь я хочу сгенерировать hibernate.cfg.xml и все java-файлы из файлов hbm.xml и файла database.properties. Моя текущая запись Maven выглядит так:

<plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>hibernate3-maven-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <id>hbm2java</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>hbm2java</goal>
                    </goals>
                    <configuration>
                        <components>
                            <component>
                                <name>hbm2java</name>
                                <implementation>configuration</implementation>
                                <outputDirectory>src/main/java</outputDirectory>
                            </component>
                        </components>
                        <componentProperties>
                            <jdk5>true</jdk5>
                            <ejb3>true</ejb3>
                            <propertyfile>src/main/resources/database.properties</propertyfile>
                        </componentProperties>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.0.8</version>
                </dependency>
                <dependency>
                    <groupId>cglib</groupId>
                    <artifactId>cglib-nodep</artifactId>
                    <version>2.1_3</version>
                </dependency>
            </dependencies>  
        </plugin>

Может ли кто-нибудь помочь мне с этим? Я действительно не знаю, что делать, чтобы эта штука работала.

1 ответ

Ну, мое решение заключается в использовании моего написанного мной плагина. Здесь вы можете найти его: http://uploaded.to/file/j3j7b652

Пример использования:

   <plugin>
        <groupId>com.blazebit</groupId>
        <artifactId>HibernateCfgBuilder</artifactId>
        <version>1.0</version>
        <executions>
            <execution>
                <id>HibernateCfgBuilder</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>HibernateCfgBuilder</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <hbmXmlFilesDir>src/main/resources/com/company/model/</hbmXmlFilesDir>
            <configFile>target/classes/hibernate.cfg.xml</configFile>
            <packageName>com.company.model</packageName>
        </configuration>
    </plugin>

Если у вас есть какие-либо вопросы, задавайте. Свойства конфигурации все задокументированы.

Другие вопросы по тегам