2017-01-15 6 views
0

최대 절전 모드를 처음 배우기 때문에 오류를 찾을 수 없습니다. student007 테이블이 데이터베이스에서 만들어진 다음 클라이언트 클래스가 실행되었습니다. 내가 이해하는 오류를 분석함으로써 sessionfactory 부분에 문제가있는 것입니다. 또한 발견되지 오라클 드라이버 말 클래스에 오류가 예외 student.hbm.xmlHibernate buildSessionFactory에 의해 ClassNotFoundException이 발생했습니다.

<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 

    <hibernate-mapping> 

     <class name="beans.Student" table="student007" schema="system"> 

      <id name="id" column="sid"/> 
      <property name="name" column="sname"/> 
      <property name="email" column="semail"/> 
      <property name="marks" column="smarks"/> 

     </class> 

    </hibernate-mapping> 

있는 hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 

    <session-factory> 

     <property name="connection.driver_class">oracle.jdbc.oracleDriver</property> 
     <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property> 
     <property name="connection.username">system</property> 
     <property name="connection.password">manager</property> 
     <property name="connection.pool_size">10</property> 
     <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> 
     <mapping resource="resource/student.hbm.xml"/> 
    </session-factory> 

</hibernate-configuration> 

client.java

package test; 

import org.hibernate.Session; 
import org.hibernate.SessionFactory; 
import org.hibernate.cfg.Configuration; 

import beans.Student; 

public class Client { 

    public static void main(String[] args) { 

     Student st = new Student(); 
     st.setId(111); 
     st.setName("Ishan"); 
     st.setEmail("[email protected]"); 
     st.setMarks(90); 

     Configuration cfg = new Configuration(); 
     cfg.configure("resource/hibernate.cfg.xml"); 
     SessionFactory sf = cfg.buildSessionFactory(); 
     //The error appears to be in the above line while building the session factory. 
     Session s = sf.openSession(); 
     s.save(st); 
     s.beginTransaction().commit(); 
     s.evict(st); 


    } 
} 

student.java

package beans; 

public class Student { 

    private int id; 
    private String name; 
    private String email; 
    private int marks; 

    public int getId() { 
     return id; 
    } 

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

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 

    public int getMarks() { 
     return marks; 
    } 

    public void setMarks(int marks) { 
     this.marks = marks; 
    } 

    public Student() { 
     // TODO Auto-generated constructor stub 
    } 


} 

나는 예외 메시지가 모든 것을 말한다

Jan 16, 2017 7:10:09 PM org.hibernate.Version logVersion 
INFO: HHH000412: Hibernate Core {5.2.6.Final} 
Jan 16, 2017 7:10:09 PM org.hibernate.cfg.Environment <clinit> 
INFO: HHH000206: hibernate.properties not found 
Jan 16, 2017 7:10:10 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit> 
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final} 
Jan 16, 2017 7:10:10 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) 
Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:267) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:231) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:240) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) 
    at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418) 
    at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:691) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726) 
    at test.Client.main(Client.java:21) 
Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [oracle.jdbc.oracleDriver] 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:348) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:160) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildCreator(DriverManagerConnectionProviderImpl.java:116) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:100) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72) 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:240) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:257) 
    ... 14 more 
Caused by: java.lang.ClassNotFoundException: Could not load requested class : oracle.jdbc.oracleDriver 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:336) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:345) 
    ... 26 more 
+0

안녕하세요. 문제의 제목과 관련하여보다 구체적인 내용으로 변경하십시오. 이렇게하면 유사한 문제가있는 사람들이 귀하의 게시물을 쉽게 찾을 수 있습니다. 질문 자체에서 설정을 설명 할 수 있습니다. 고맙습니다. – QueryLars

+0

클래스 이름'oracle.jdbc.oracleDriver'는 유효한 클래스 이름이 아니므로'oracle.jdbc.OracleDriver'를 사용해야합니다 (Oracle에서는 대문자 O를 사용합니다). –

답변

0

도와주세요이 오류를 얻고있다 : Could not load requested class : oracle.jdbc.oracleDriver

을 그래서 당신은 맞춤법이 틀린 경우 내가 확인 먼저 운전사의 이름 그리고 당신은 진짜로한다. 클래스 이름은 대문자로 시작합니다. 드라이버의 올바른 이름은 oracle.jdbc.OracleDriver이어야합니다.

관련 문제