我有单独的jar文件,包含hibernate实体映射和直接映射。我的Hibernate confg(cgf.xml)放在另一个jar文件中。结果我捕获异常“资源:com / iceleads / data / Test.hbm.xml未找到”。
示例:
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"/>
mainUsage.jar类路径中的entities.jar
请建议我如何配置hibernate.cfg.xml以使用单独的jar与实体。
非常感谢!
阿尔乔姆
答案 0 :(得分:1)
在创建新配置时使用方法addJar()
。
sessionFactory = new Configuration().configure("hibernate.cfg.xml")
.addJar(new File("/path/to/jar")).buildSessionFactory();
答案 1 :(得分:0)
将映射文件的路径包含在映射资源中。例如,使用foreach
,<mapping resource="com/example/test/test.hbm.xml"/>
位于jar文件中的包test.hbm.xml
中。
这将达到目的。