?
Solved

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

Posted on 2009-07-08
11
Medium Priority
?
1,429 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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

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

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

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.

762 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