Comment configurer hbm2java et hbm2dao pour ajouter packagename de classes générées
Je suis en train de configurer hbm2java
avec maven pour générer des classes POJO et d'objets DAO. L'un des problèmes auxquels je suis confronté à est les noms de paquets ne sont pas générés. Je suis à l'aide de la suite de pom:
<execution>
<id>hbm2java</id>
<phase>generate-sources</phase>
<goals>
<goal>hbm2java</goal>
</goals>
<inherited>false</inherited>
<configuration>
<components>
<component>
<name>hbm2java</name>
<implementation>configuration</implementation>
</component>
</components>
<componentProperties>
<packagename>package.name</packagename>
<configurationfile>target/hibernate3/generated-mappings/hibernate.cfg.xml</configurationfile>
</componentProperties>
</configuration>
</execution>
Encore le code généré commence avec les éléments suivants:
//default package
//Generated 2010-05-17 13:11:51 by Hibernate Tools 3.2.2.GA
/**
* Messages generated by hbm2java
*/
public class Messages implements java.io.Serializable {
Est-il un moyen de forcer maven pour générer le paquet partie tel que défini dans packagename?
Mise à jour:
Voici mon hibernate.cfg.xml également généré automatiquement par hibernate-outils (hbm2cfgxml):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">1800</property>
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/db</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<mapping resource="package/name/Messages.hbm.xml" />
</session-factory>
</hibernate-configuration>
Quel est votre hibernate.cfg.xml fichier ressemble. Est-il possible que le fichier est en remplaçant le réglage? Aussi, notez que le fichier de configuration que vous avez spécifié est mal orthographié, hibernane.cfg.xml. Je ne sais pas si c'est intentionnel ou pas.
La faute d'orthographe alors que surgissent des copier-coller et le formatage du code de StackOverflow -, mais merci. J'ai ajouté mon hibernate.cfg.xml.
La faute d'orthographe alors que surgissent des copier-coller et le formatage du code de StackOverflow -, mais merci. J'ai ajouté mon hibernate.cfg.xml.
OriginalL'auteur mmm | 2010-05-17
Vous devez vous connecter pour publier un commentaire.
Juste au cas où, voici une configuration de travail de la hibernate3-maven-plugin pour une approche bottom-up:
Et voici le contenu de mon
src/main/database.properties
fichier:Cette installation:
*.hbm.xml
danstarget/classes
(avec l'emballage) au cours degenerate-resources
.hibernate.cfg.xml
danstarget/classes
avec des entrées pour les fichiers de mappage.target/generated-sources/hibernate3
(je recommande letarget/generated-sources/<tool>
convention pour généré des sources, de sorte qu'ils vont s'auto-détecté par IDEs).Ici est le résultat de
clean compile
contre un échantillon de la base de données avec deux tables:Je ne sais pas pourquoi ils ne le sont pas (le plugin devrait add ce répertoire comme répertoire de ressources pour les pom). Il devrait être possible d'utiliser l'accumulation Helper plugin (voir le Utilisation de la page). Mais ce serait plus de commentaires et je ne vois pas de réels avantages. Donc, étant donné que la solution que j'utilise fonctionne, tout simplement, je n'ai jamais essayé de le faire d'une autre manière.
OriginalL'auteur Pascal Thivent
Ok, j'ai tout compris. J'ai mis la réponse ici.
OriginalL'auteur mmm