线程“main”中的异常org.hibernate.HibernateException:找不到hibernate.cfg.xml

时间:2014-09-09 06:40:58

标签: java xml hibernate

这个问题似乎重复了,但我尝试了所有可能但我无法解决此错误。请帮助我,我是Hibernate的初学者。

-FirstProject

---> SRC

  ------>myPackage

       --> Employee.java
       --> StoreData.java

---> Employee.hbl.xml

---> hibernate.cfg.xml中

两个xml文件都在src文件夹下,我的代码在这里

package mypackage;

**public class Employee** 
{

    private int id;
    private String FirstName,LastName;

    public int getId()
    {
        return id;
    }

    public void setId(int id)
    {
        this.id=id;
    }

    public String getFirstName()
    {
        return FirstName;
    }

    public void setFirstName(String FirstName)
    {
        this.FirstName=FirstName;
    }

    public String getLastName()
    {
        return LastName;
    }

    public void setLastName(String LastName)
    {
        this.LastName=LastName;
    }
}

Employee.hbl.xml

<class name="mypackage.Employee" table="emp1000">  

   <id name="id">  
      <generator class="assigned"></generator>  
   </id>       
   <property name="firstName" column="fname" type="String"></property>  
   <property name="lastName" column="lname" type="String"></property>   

 </class>

hibernate.cfg.xml中

<session-factory>  
    <property name="hbm2ddl.auto">update</property>  
    <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>  
    <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>  
    <property name="connection.username">system</property>  
    <property name="connection.password">12345</property>  
    <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>  
<mapping resource="First/src/Employee.hbm.xml"/>  
</session-factory>  

StoreData.java

package mypackage;

public class StoreData { 

    public static void main(String[] args) {  

        SessionFactory sF = new Configuration().
                configure("/First/src/mypackage/hibernate.cfg.xml").buildSessionFactory();

        Session session=sF.openSession();  
        Transaction t=session.beginTransaction();  
        Employee e1=new Employee();  
        e1.setId(115);  
        e1.setFirstName("Madu");  
        e1.setLastName("biradar");  
        session.persist(e1);
        t.commit();  
        session.close();  
        System.out.println("successfully saved");  
        }  
    }  

感谢所有提出任何建议的人......

2 个答案:

答案 0 :(得分:1)

Configuration.configure需要一个&#39;类路径&#39;或者&#39;资源&#39;路径(在你的情况下从src开始)。 因此,如果您删除&#39; / First / src / mypackage&#39;从你的路径,这应该解决文件未找到错误。

同样,您也应该从对Employee.hbm.xml的引用中删除它。

有关详细信息,请查看java.lang.Class中的getResource文档(http://docs.oracle.com/javase/7/docs/api/index.html?java/lang/Class.html

答案 1 :(得分:1)

我希望 Employee.hbl.xml 是一个拼写错误,您已使用名称hbm进行映射,文件名为hbl,可能只是一种类型且无关联确切的问题,也发布完整的stacktrace

您是否可以使用以下连接属性进行连接

<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>