Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

java.lang.NullPointerException throwed when doing Hibernate Persistence

843859Jun 19 2007 — edited Jun 19 2007
Im using Hibernate3.
I am trying to add a record of "orderdetail", also setting its many-2-one association "order", which include a many-2-one association with "employer".
Mycode is:
public class OrderdetailDaoTest {
   public static void main(String[] args) {
      // TODO Auto-generated method stub
      try{
         Orderdetails vo = new Orderdetails();
         
         IOrdersDAO orderdao = new OrdersDAO();
         Integer orderid = new Integer("1");
         System.out.println("orderid is "+orderid.intValue());
         Orders order = (Orders)orderdao.getOrderByid(orderid);
         vo.setOrders(order);
         
         IEmployeesDAO eedao = new EmployeesDAO();
         Integer eeid = new Integer("1");
         Employees employee = eedao.getEmployeeByid(eeid);
         vo.setEmployees(employee);
         
         Calendar startdate = Calendar.getInstance();
         startdate.set(2007, 5, 15);
         //System.out.println("time is "+startdate.getTime());
         vo.setStartDate(startdate.getTime());
         
         Calendar enddate = Calendar.getInstance();
         startdate.set(2007, 6, 15);
         //System.out.println("time is "+enddate.getTime());
         vo.setEndDate(enddate.getTime());
         
         Calendar arrdate = Calendar.getInstance();
         arrdate.set(2007, 6, 16);
         //System.out.println("time is "+arrdate.getTime());
         vo.setArrivalDate(arrdate.getTime());
         
         vo.setArrivalStatus("Experienced Named");
         
         Calendar repatdate = Calendar.getInstance();
         repatdate.set(2007, 7, 16);
         //System.out.println("time is "+arrdate.getTime());
         vo.setRepatDate(repatdate.getTime());
         
         vo.setRepatStatus("Other");
         vo.setTransferStatus("Named Transfer");
         
         Calendar transferdate = Calendar.getInstance();
         transferdate.set(2007, 7, 1);
         //System.out.println("time is "+arrdate.getTime());
         vo.setDateTransferred(transferdate.getTime());
         
         vo.setNotes("This is a long test note!");
         
         IArrivalmanifesttblDAO arrivaldao = new ArrivalmanifesttblDAO();
         Arrivalmanifesttbl arrival = arrivaldao.getArrivalByAMNO("am01");
         vo.setArrivalmanifest(arrival);
         
         IRepatmanifesttblDAO repatdao = new RepatmanifesttblDAO();
         Repatmanifesttbl repat = repatdao.getRepatByRMNO("rm01");
         vo.setRepatmanifest(repat);
         
         vo.setRepatDetail("This is long test repat detail!");
         vo.setIncludeInArrivalManifest(new Byte("0"));
         vo.setIncludeInRepatManifest(new Byte("0"));
         vo.setTransferred(new Byte("1"));
         vo.setDelete(new Byte("0"));
         
         vo.setSno(new Short("100"));
         IOrderdetailsDAO dao = new OrderdetailsDAO();
         dao.add(vo);
      }
      catch(ApplicationException e){
         e.getStackTrace();
         System.out.println("Exception throwed!");
      }
   }

}
The stack print like following:
Exception in thread "main" java.lang.NullPointerException
   at com.farm.vo.Employers.hashCode(Employers.java:270)
   at com.farm.vo.Orders.hashCode(Orders.java:168)
   at java.util.HashMap.put(Unknown Source)
   at java.util.HashSet.add(Unknown Source)
   at java.util.AbstractCollection.addAll(Unknown Source)
   at org.hibernate.collection.PersistentSet.endRead(PersistentSet.java:273)
   at org.hibernate.engine.CollectionLoadContext.endLoadingCollection(CollectionLoadContext.java:183)
   at org.hibernate.engine.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:268)
   at org.hibernate.engine.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:249)
   at org.hibernate.loader.Loader.endCollectionLoad(Loader.java:866)
   at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:853)
   at org.hibernate.loader.Loader.doQuery(Loader.java:717)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
   at org.hibernate.loader.Loader.loadCollection(Loader.java:1919)
   at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
   at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:520)
   at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
   at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1676)
   at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:454)
   at org.hibernate.engine.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:755)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:229)
   at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
   at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47)
   at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41)
   at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730)
   at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365)
   at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346)
   at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123)
   at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:177)
   at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
   at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
   at org.hibernate.impl.SessionImpl.get(SessionImpl.java:799)
   at org.hibernate.impl.SessionImpl.get(SessionImpl.java:792)
   at com.farm.dao.OrdersDAO.getOrderByid(OrdersDAO.java:98)
   at com.farm.unitTest.daotest.OrderdetailDaoTest.main(OrderdetailDaoTest.java:33)
The mapping file for orderdetail is like:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="com.farm.vo.Orderdetails" table="orderdetails" catalog="llbv1" lazy="false">
        <id name="orderDetailId" type="java.lang.Integer">
            <column name="OrderDetailID" />
            <generator class="native" />
        </id>
        <many-to-one name="employees" class="com.farm.vo.Employees"  lazy="false">
            <column name="EmployeeID" />
        </many-to-one>
        <many-to-one name="orders" class="com.farm.vo.Orders" lazy="false">
            <column name="OrderID" />
        </many-to-one>
        <many-to-one name="repatmanifest" class="com.farm.vo.Repatmanifesttbl" cascade="all" lazy="false">
            <column name="RepatManifestNo" length="50" />
        </many-to-one>
        <many-to-one name="arrivalmanifest" class="com.farm.vo.Arrivalmanifesttbl" cascade="all" lazy="false">
            <column name="ArrivalManifestNo" length="50" />
        </many-to-one>
        <property name="startDate" type="java.util.Date">
            <column name="StartDate" length="19" />
        </property>
        <property name="endDate" type="java.util.Date">
            <column name="EndDate" length="19" />
        </property>
        <property name="arrivalDate" type="java.util.Date">
            <column name="ArrivalDate" length="19" />
        </property>
        <property name="arrivalStatus" type="java.lang.String">
            <column name="ArrivalStatus" length="21" />
        </property>
        <property name="repatDate" type="java.util.Date">
            <column name="RepatDate" length="19" />
        </property>
        <property name="repatStatus" type="java.lang.String">
            <column name="RepatStatus" length="18" />
        </property>
        <property name="transferStatus" type="java.lang.String">
            <column name="TransferStatus" length="16" />
        </property>
        <property name="dateTransferred" type="java.util.Date">
            <column name="DateTransferred" length="19" />
        </property>
        <property name="notes" type="java.lang.String">
            <column name="Notes" />
        </property>
        <property name="repatDetail" type="java.lang.String">
            <column name="RepatDetail" />
        </property>
        <property name="includeInArrivalManifest" type="java.lang.Byte">
            <column name="IncludeInArrivalManifest" />
        </property>
        <property name="includeInRepatManifest" type="java.lang.Byte">
            <column name="IncludeInRepatManifest" />
        </property>
        <property name="transferred" type="java.lang.Byte">
            <column name="Transferred" />
        </property>
        <property name="iomRemarks" type="java.lang.String">
            <column name="IOM_Remarks" />
        </property>
        <property name="observations" type="java.lang.String">
            <column name="Observations" />
        </property>
        <property name="mitigatingFactors" type="java.lang.String">
            <column name="MitigatingFactors" />
        </property>
        <property name="delete" type="java.lang.Byte">
            <column name="isDelete" />
        </property>
        <property name="employeeRemarks" type="java.lang.String">
            <column name="EmployeeRemarks" />
        </property>
        <property name="nbstatus" type="java.lang.String">
            <column name="NBStatus" length="50" />
        </property>
        <property name="sno" type="java.lang.Short">
            <column name="SNo" />
        </property>
        <property name="userComment" type="java.lang.String">
            <column name="UserComment" />
        </property>
    </class>
</hibernate-mapping>
I am stuck with this problem for several days. Any seggestion is appreciated!
Thanks in advance.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 17 2007
Added on Jun 19 2007
1 comment
1,264 views