Question

J'utilise hbm2java (hibernate3-maven-plugin) afin de générer des entités.

Comment puis-je changer l'auto généré EmbeddedId à @IdClass?

Merci

Était-ce utile?

La solution

Le veille prolongée plugin Maven ne, vous ne devez pas le faire automatiquement mettre à jour vos classes manuellement si vous souhaitez utiliser @IdClass.

Autres conseils

Je n'ai pas essayé de suivre. Mais de ce que je travaille avec l'outil de mise en veille prolongée, je pense qu'il rétro-ingénierie devrait être possible à l'aide d'un fichier reveng.xml. Dans votre fichier pom.

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>hibernate3-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
    <components>
        <component>
            <name>hbm2java</name>
        </component>
    </components>
    <componentProperties>
       <revengfile>/src/main/resources/reveng/model.reveng.xml</revengfile>
    </componentProperties>
    </configuration>
    <executions>
  <execution>
  <phase>compile</phase>
  <goals>
    <goal>hbm2java</goal>
  </goals>
  </execution>
</executions>

Et dans le reveng.xml spécifier le mappage de type à l'IdClass (voir outils Hibernate documentation http://docs.jboss.org/tools/3.1.0.GA/en/hibernatetools/html_single/index.html#type_map ou http://docs.jboss.org/tools/3.1 .0.GA / fr / hibernatetools / html_single / index.html # d0e5869 ).

Comme mentionné précédemment, je n'ai pas essayé.

Pour diverses autres raisons que j'ai renoncé à l'aide de l'ingénierie inverse. Un problème est que les outils mise en veille prolongée ne sont pas conformes à Hibernate 3.5 et au-dessus. En outre, le plugin Maven est tiers et utilise une des versions plus anciennes d'outils Hibernate, que le cadre général disponible. Donc, je suis également venu dans la situation où je devais appeler fourmi de Maven faire l'ingénierie inverse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top