Suchen Sie die Zuordnungsressource für den Ruhezustand im separaten JAR
-
28-10-2019 - |
Frage
Ich habe eine separate JAR-Datei, die die Zuordnung von Entitäten im Ruhezustand und die direkte Zuordnung enthält.Mein Hibernate-Confg (cgf.xml) wurde in einer anderen JAR-Datei abgelegt.Als Ergebnis erhalte ich die Ausnahme "resource: com / iceleads / data / Test.hbm.xml nicht gefunden".
Beispiel:
entities.jar
com.package.entity.TestEntity.java
com.package.entity.TestEnity.hbm.xml
mainUsage.jar
com.package.main.MainClass.java - there are I get session factory
SessionFactory factory = HibernateUtil.getSessionFactory();
com.package.main.hibernate.cfg.xml
in HibernateUtil
sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
in hibernate.cfg.xml
<mapping resource="com/package/entity/TestEntity/Test.hbm.xml"/>
entity.jar im Klassenpfad mainUsage.jar
Bitte schlagen Sie mir vor, wie ich hibernate.cfg.xml so konfigurieren kann, dass separate JARs mit Entitäten verwendet werden.
Vielen Dank!
Artem
Lösung
Verwenden Sie beim Erstellen einer neuen Konfiguration die Methode addJar()
.
sessionFactory = new Configuration().configure("hibernate.cfg.xml")
.addJar(new File("/path/to/jar")).buildSessionFactory();
Andere Tipps
Einfügen des Pfads der Zuordnungsdatei in die Zuordnungsressource.Verwenden Sie beispielsweise <mapping resource="com/example/test/test.hbm.xml"/>
, und test.hbm.xml
befindet sich im Paket com.example.test
in der JAR-Datei.
Dies dient dem Zweck.