2014-09-10 5 views
-2

Я пытаюсь настроить Hibernate 4.3.6 с Oracle 11g, но я не могу настроить ... Я
Получение исключения Null Pointer при создании сеанса ... i кладу все файлы конфигурации и программы, пожалуйста, помогите мне получить основную причину отказаHibernate 4.3.6 Конфигурация с Oracle 11g

hibernate.cfg.xml 

    <hibernate-configuration> 
    <session-factory> 

    <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
    <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:XE</property> 
    <property name="username">TEST</property> 
    <property name="password">ORACLE</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property> 
    <property name="show_sql">true</property> 
    <property name="hibernate.connection.pool_size">5</property> 
    </session-factory> 
</hibernate-configuration> 

HibernateUtil.java 

public class HibernateUtil { 
    private static SessionFactory sessionFactory; 
    private static ServiceRegistry serviceRegistry; 
    public static SessionFactory createSessionFactory() { 
     try{ 
      Configuration configuration = new Configuration(); 
      configuration.configure("hibernate.cfg.xml"); 
      serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
        configuration.getProperties()).build(); 
      sessionFactory = configuration.buildSessionFactory(serviceRegistry); 
      return sessionFactory; 
     } 
     catch (Throwable ex) { 
      // Make sure you log the exception, as it might be swallowed 
      System.err.println("Initial SessionFactory creation failed." + ex); 
      throw new ExceptionInInitializerError(ex); 
     } 
    } 
    public static SessionFactory getSessionFactory() { 
      return sessionFactory; 
    } 
} 

FetchTest.java 

public class FetchTest { 
<br> 
    public static void main(String a[]){<br> 
     System.out.println("*********************** Inside Main ***********************"); 

     <br><br> 
      Session session = HibernateUtil.getSessionFactory().openSession(); 
    } 
} 

Output : - 

*********************** Inside Main *********************** 
Exception in thread "main" java.lang.NullPointerException 
    at com.naveen.org.FetchTest.main(FetchTest.java:18) 

Please give your suggestions how to get ride from this.....? 

ответ

2

NullPointerException приходит, если выполнить операцию на объекте, не реализованным.

Таким образом, вы получаете это исключение при этом:

HibernateUtil.getSessionFactory().openSession(); 

, который ничего, кроме:

sessionFactory.openSession(); 

В соответствии с кодом вы публикуемую в вашем вопросе sessionFactory должен быть null, потому что вы создали static такие переменные:

private static SessionFactory sessionFactory; 

и непосредственно обращаясь к нему с использованием метода HibernateUtil.getSessionFactory() без звонка createSessionFactory() в любом месте вашего кода.

PS: Перед отправкой основных вопросов непосредственно в SO необходимо провести базовый анализ.

Смежные вопросы