2016-05-13 7 views
0

私はHibernateにいくつか問題があります。私は、Mavenを使用して、このようなプロジェクト構造を持っている:http://i.imgur.com/UAYcyRc.png私のhibernate.cfg.xmlファイルが見えません

(申し訳ありませんが、私はノー評判の原因は装着できません)

を、私はこの構造を使用します。

sessionFactory = new Configuration().configure("/resources/hibernate.cfg.xml").buildSessionFactory(); 

をしかし、それはdoesnのこのエラーが発生します:

Initial SessionFactory creation failed.org.hibernate.HibernateException:... not found 

私はpomファイルなどに何かを追加する必要がありますか?

答えて

0

hibernate.cfg.xmlはsrc/main/resourcesになければなりません。 srcでは、実行時にクラスパスに追加されません。 src/main/resourcesがクラスパスから除外されておらず、実際にソースフォルダであることを確認するビルドパス設定では、

0

コードを次のように変更してください。

SessionFactory sessionFactory = null; 
    Configuration configuration = new Configuration(); 
    configuration.configure("/resources/hibernate.cfg.xml"); 
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() 
      .applySettings(configuration.getProperties()).build(); 

    sessionFactory = configuration.buildSessionFactory(serviceRegistry); 

私はあなたのようなプロジェクトがあり、与えられたコードサンプルは魅力のように動作します。

0

の下に言及した以下の手順に従ってください:

  1. ように、それは直接だけで、hibernate.cfg.xmlのはのsrc /メイン/リソース下でそれを指定することで、クラスパスのルートにあることを確認してください

  2. いけないhibernate.cfg.xmlのファイルの任意の絶対パスを指定してアプリケーションを構築した後 /クラスWEB-INFの下に来る

  3. 問題がなくなっている第二段階の後のSessionFactory

    Configuration configuration = new Configuration().configure(); 
    ServiceRegistryBuilder registry = new ServiceRegistryBuilder(); 
    registry.applySettings(configuration.getProperties()); 
    ServiceRegistry serviceRegistry = registry.buildServiceRegistry(); 
    SessionFactory sessionFactory =  configuration.buildSessionFactory(serviceRegistry); 
    Session session = sessionFactory.openSession(); 
    
+1

を取得するには、以下の行を追加してください、ありがとうございました! – Ktkachev

+0

あなたの歓迎。答えを受け入れてください:) – shankarsh15

関連する問題