El recurso de mapeo de Hibernate se ubica en el jar separado
-
28-10-2019 - |
Pregunta
Tengo un archivo jar separado que contiene mapeo y mapeo de entidades de hibernación directamente.Mi confg de Hibernate (cgf.xml) colocado en otro archivo jar.Y como resultado capté la excepción "recurso: com / iceleads / data / Test.hbm.xml no encontrado".
Ejemplo:
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 en mainUsage.jar classpath
Por favor sugiera cómo puedo configurar hibernate.cfg.xml para usar un jar separado con entidades.
¡Muchas gracias!
Artem
Solución
Utilice el método addJar()
al crear una nueva configuración.
sessionFactory = new Configuration().configure("hibernate.cfg.xml")
.addJar(new File("/path/to/jar")).buildSessionFactory();
Otros consejos
Incluyendo la ruta del archivo de mapeo en el recurso de mapeo.Por ejemplo, use <mapping resource="com/example/test/test.hbm.xml"/>
, y test.hbm.xml
se encuentra en el paquete com.example.test
dentro del archivo jar.
Esto cumplirá el propósito.