2014-09-09 1 views
0

이 질문은 반복되는 것처럼 보이지만 수행 할 수있는 모든 가능성을 시도했지만이 오류를 해결할 수 없습니다. 초보자 인 나를 도와주세요. Hibernate.스레드 "main"의 예외 org.hibernate.HibernateException : hibernate.cfg.xml을 찾을 수 없습니다.

-FirstProject

--->

------>myPackage 

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

---> SRC

---> hibernate.cfg Employee.hbl.xml. xxx

개 두 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"); 
     } 
    } 

제안의 어떤 종류를 줄 것이다 모든 사람에게 감사합니다 ...

+0

'Employee.hbl.xml'이 오타이고, 이름이'hbm'으로 매핑되어 있고, 파일 이름이'hbl'이며, 아마 타입 일 뿐이며 eaxt 문제와 관련이 없으며 전체 스택 트레이스를 게시하시기 바랍니다. –

+0

@ ankur-singhal .. 당신의 대답을 고맙다, 그건 내 실수였다. –

+0

당신의 목적을 해결하거나 그냥 질문 유형 –

답변

1

내가 Employee.hbl.xml 오타를 희망, 당신은 이름 hbm 및 파일 이름으로 매핑 한 hbl, 어쩌면 그냥 유형하지 않고 정확한 문제를 관련이있다, 또한 전체 stacktrace

이 연결 속성 이하로 사용하여 연결 할 당신이 수 게시

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

@Madu Biradar please upote 또는 대답을 수락하다 –

1

Configuration.configure가 예상하는 '클래스 경로'또는 '자원'경로 (y src에서 시작하는 우리의 경우). 경로에서 '/ First/src/mypackage'를 제거하면 파일을 찾을 수 없음 오류가 해결됩니다.

그리고 같은 메모에서 Employee.hbm.xml에 대한 참조에서 제거해야합니다. 추가 정보에 대한

는 java.lang.Class의에서의 getResource에 대한 문서를 보면 (http://docs.oracle.com/javase/7/docs/api/index.html?java/lang/Class.html)

관련 문제