Solved

Exception in thread "main" java.lang.NullPointerException at dao.EmployeeDao.main(EmployeeDao.java:42)

Posted on 2009-07-08
11
1,418 Views
Last Modified: 2013-11-24
Hi,
            I am new to Hibernate3.0 as well this forum.. I am happy to be member this forum...

Right now i am learning Hibernate ..herewith i have simple written simple application
for storing the data into DB using hibernate.. while running the application i ama getting  above error..  see the code below.
1) This is My bean class
 
package Bean;
 
public class EmployeeBean 
{
	private String firstName;
	private String lastName;
	private String 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;
	}
	
	public String getId()
	{
		return id;
	}
	
	public void setId(String id)
	{
		this.id = id;
	}
 
}
 
 
2) I have created Table called Employee  using oracle with filed names Id,FirstName, LastName
 
 
3) this is mY DAo class for storing the inot database
 
 
package dao;
 
 
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import Bean.EmployeeBean;
 
 
public class EmployeeDao 
{
	public static void main(String[] args)
	{
		Session sesssion = null;
		
		try
		  {
			 
			// Configuration configuration = new  Configuration();
			
			 SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
		
			 sesssion = sessionFactory.openSession();
			
			 System.out.println("Inserting   Record ");
			 EmployeeBean employeeBean = new  EmployeeBean();
			 employeeBean.setId("350");
			 employeeBean.setFirstName("Mahesh");
			 employeeBean.setLastName("Kuppusamy");
			 sesssion.save(employeeBean);
		  }
		
		catch (Exception e) 
		 {
			    
				System.out.println(e.getMessage());
		 }
		finally
		{
		  // Actual insert will happen here
			
			sesssion.flush();
			sesssion.close(); 
		}
		
		
	}
 
}
 
 
4) see the EmployeeAdd.hbm.xml here
 
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jun 4, 2008 2:00:58 AM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping default-lazy="false">
    <class name="Bean.EmployeeBean" table="Employee"  select-before-update="true">
    
        <id name="id" type="string">
            <column name="Id" length="3" />
            <generator class="assigned" />
        </id>
        
        <property name="firstName" type="string">
            <column name="FirstName" length="5" not-null="true"/>
  		</property>                 
  		
        <property name="lastName" type="string">
        	<column name="LastName" length="5" not-null="true" />
        </property>
               
        </class>
</hibernate-mapping>
 
 
5) see the hibernate.cfg.xml
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<!-- =============================================================== -->
		<!--                        SQL SERVER DIALECT                       -->
		<!-- =============================================================== -->
	
		<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
		<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
		<property name="hibernate.connection.username">system</property>
        <property name="hibernate.connection.password">tspl</property>
        <property name="hibernate.connection.pool_size">10</property>
        <property name="show_sql">true</property>
		<property name="dialect">org.hibernate.dialect.OracleDialect</property>
		<property name="hibernate.hbm2ddl.auto">update</property>
 
 
		<!-- =============================================================== -->
		<!--                      HIBERNATE MAPPINGS                         -->
		<!-- =============================================================== -->
		
		<mapping resource="xbm/EmployeeAdd.hbm.xml"/>
		
	 	</session-factory>
</hibernate-configuration>

Open in new window

0
Comment
Question by:maheshvrk3
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
11 Comments
 
LVL 13

Expert Comment

by:Bart Cremers
ID: 24810991
If I'm counting lines correctly, it's the "sesssion.flush()" which throws the NullPointer. This means your session did not get initialized. I think there's another exception thrown before.

Change the catch to:

}
catch (Exception e) {
    e.printStackTrace();
}
0
 
LVL 20

Expert Comment

by:a_b
ID: 24811006
Can you post the full stack trace?
0
 

Author Comment

by:maheshvrk3
ID: 24811135
I  have changed the catch statement to

catch (Exception e)
{
 e.printStackTrace();

 }

 Still i am getting the same Error

Exception in thread "main" java.lang.NullPointerException
      at dao.EmployeeDao.main(EmployeeDao.java:43)
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:maheshvrk3
ID: 24811185
Herewith i ahve attached the sanpshot
0
 
LVL 20

Expert Comment

by:a_b
ID: 24811195
Cannot see the snapshot.
0
 

Author Comment

by:maheshvrk3
ID: 24811220
Herewith i ahve attached the sanpshot


stackTrace.doc
0
 
LVL 20

Expert Comment

by:a_b
ID: 24876119
Please share the solution with us.
0
 

Accepted Solution

by:
maheshvrk3 earned 0 total points
ID: 24877008


add the the conditon in the finaly

finally(
                         {
          if(session==null)
              sesssion.flush();
         sesssion.close();
}
      }

            
0
 

Author Comment

by:maheshvrk3
ID: 24878791
Solution to this issues is

add the following  conditon in the finally

finally(
                         {
          if(session==null)
              sesssion.flush();
         sesssion.close();
}
      }

           
0
 

Author Closing Comment

by:maheshvrk3
ID: 31601025
As i  have added the solution for this issue.. proceedong to close the question...

0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I had a project requirement for a displaying a user workbench .This workbench would consist multiple data grids .In each grid the user will be able to see a large number of data. These data grids should allow the user to 1. Sort 2. Export the …
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question