maven專案中 org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found問題的解決方案
阿新 • • 發佈:2018-12-14
maven中配置hibernate,檔案結構如下:
測試:
public static void main(String[] args) { AccountEntity account = new AccountEntity(); account.setName("kobe bryant"); account.setMoney(9000.0); // 1.載入主配置檔案 org.hibernate.cfg.Configuration cfg = new org.hibernate.cfg.Configuration(); // 預設到類的根路徑下載入 cfg.configure(); // 2.根據配置檔案建立SessionFactory SessionFactory sessionFactory = cfg.buildSessionFactory(); // 3.建立Session Session session = sessionFactory.openSession(); // 4.開啟事務 Transaction transaction = session.beginTransaction(); // 5.執行操作 session.save(account); // 6.提交事務 transaction.commit(); // 7.釋放資源 session.close(); sessionFactory.close(); }
然後報錯: org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found
原因:maven專案中,編譯時預設只會將resources中的資原始檔拷貝到target資料夾中。我的**.hbm.xml檔案是在domain中,當然找不到了。
解決方案:在pom.xml中配置資原始檔
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/AccountEntity.hbm.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/SysResourceEntity.hbm.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </build>
解決!