Recurso de mapeamento do Hibernate localizado no jar separado
-
28-10-2019 - |
Pergunta
Eu tenho um arquivo jar separado que contém mapeamento de entidade de hibernação e mapeamento direto.Minha configuração do Hibernate (cgf.xml) colocada em outro arquivo jar.E, como resultado, pego a exceção "resource: com / iceleads / data / Test.hbm.xml não encontrado".
Exemplo:
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"/>
entidades.jar no caminho de classe mainUsage.jar
Sugira como posso configurar o hibernate.cfg.xml para usar jar separado com entidades.
Muito obrigado!
Artem
Solução
Use o método addJar()
ao criar uma nova configuração.
sessionFactory = new Configuration().configure("hibernate.cfg.xml")
.addJar(new File("/path/to/jar")).buildSessionFactory();
Outras dicas
Incluindo o caminho do arquivo de mapeamento no recurso de mapeamento.Por exemplo, use <mapping resource="com/example/test/test.hbm.xml"/>
, e test.hbm.xml
está localizado no pacote com.example.test
dentro do arquivo jar.
Isso vai servir ao propósito.