| Hi friends 
 In my applicatio i am using composite ids.In my parent class  PrjDetails its generating id automatically.in child class  MaterialRequisiton its not generatig automatically.
 when i am trying to use it its giving error like this
 Id should set manually
 please help me.
 <class name="com.iserviceglobe.pims.procurement.hibernate.MaterialRequisiton" table="materialRequisiton" catalog="pims">
 <composite-id name="id" class="com.iserviceglobe.pims.procurement.hibernate.MaterialRequisitonId">
 <key-property name="id" type="java.lang.Integer">
 <column name="id" />
 </key-property>
 <key-many-to-one name="prjDetails" class="com.iserviceglobe.pims.procurement.hibernate.PrjDetails">
 <column name="prjDetailsid" />
 </key-many-to-one>
 </composite-id>
 
 <class name="com.iserviceglobe.pims.procurement.hibernate.PrjDetails" table="prjDetails" catalog="pims">
 <id name="id" type="java.lang.Integer">
 <column name="id" />
 <generator class="increment" />
 </id>
 <property name="prjNo" type="java.lang.Integer">
 <column name="prjNo" not-null="true" unique="true" />
 </property>
 <property name="prjName" type="java.lang.String">
 <column name="prjName" not-null="true" unique="true" />
 </property>
 <set name="materialRequisitons" inverse="true">
 <key>
 <column name="prjDetailsid" not-null="true" unique="true" />
 </key>
 <one-to-many        class="com.iserviceglobe.pims.procurement.hibernate.MaterialRequisiton" />
 </set>
 //java code is like this
 
 private void testCreateDomains() {
 Transaction tx = session.beginTransaction();
 PrjDetails prjdetails=new PrjDetails(projectno,projectname);
 MaterialRequisiton materialrequisiton=new MaterialRequisiton();
 //********here i have to set id manully iw new Integer(0)*******
 MaterialRequisitonId materialrequisitonid=new MaterialRequisitonId(new Integer(0),prjdetails);
 materialrequisiton.setId(materialrequisitonid);
 prjdetails.setPrjNo(projectno);
 prjdetails.setPrjName(projectname);
 materialrequisiton.setMrItemDescription(desc) ;
 materialrequisiton.setMrItemSpec(materialspecification);
 materialrequisiton.setMrItemSize(materialsize);
 materialrequisiton.setMrItemQuantity(materialquantity);
 materialrequisiton.setMrItemCode(code);
 materialrequisiton.setMrItemRequired(dateDB);
 materialrequisiton.setMrItemPlace(materialrequiredplace);
 materialrequisiton.setMrApproval(approval);
 materialrequisiton.setMrRemarks(materialremarks);
 session.save(prjdetails);
 session.save(materialrequisiton);
 System.out.println(session);
 
 tx.commit();
 package com.iserviceglobe.pims.procurement.struts.action;
 
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.GregorianCalendar;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.hibernate.Session;
 import org.hibernate.Transaction;
 
 import com.iserviceglobe.pims.procurement.hibernate.HibernateSessionFactory;
 import com.iserviceglobe.pims.procurement.hibernate.MaterialRequisiton;
 import com.iserviceglobe.pims.procurement.hibernate.MaterialRequisitonId;
 import com.iserviceglobe.pims.procurement.hibernate.PrjDetails;
 import com.iserviceglobe.pims.procurement.struts.form.MaterialRequistionForm;
 
 
 public class MaterialRequistionAction extends Action{
 private Session session;
 
 private String projectname;
 private Double materialquantity;
 private Integer projectno;
 private String materialrequiredplace;
 private String desc;
 private String materialspecification;
 private String date;
 private Integer materialsize;
 private String materialremarks;
 private Integer code;
 private Short approval;
 private SimpleDateFormat dateFormat ;
 private GregorianCalendar cal;
 private java.sql.Date dateDB;
 private Logger log;
 
 public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
 {
 
 MaterialRequistionForm materialrequistionform=(MaterialRequistionForm)form;
 
 //1.projectname
 projectname=materialrequistionform.getProjectname();
 System.out.println("1.projectname"+projectname);
 //2.materialquantity
 materialquantity=new Double(materialrequistionform.getMaterialquantity());
 System.out.println("2.materialquantity"+materialquantity);
 //3.projectno
 projectno=new Integer(materialrequistionform.getProjectno());
 System.out.println("3.projectno"+projectno);
 //4.materialrequiredplace
 materialrequiredplace=materialrequistionform.getMaterialrequiredplace();
 System.out.println("4.materialrequiredplace"+materialrequiredplace);
 //5.desc
 desc=materialrequistionform.getDesc();
 System.out.println("5.desc"+desc);
 //6.materialspecification
 materialspecification=materialrequistionform.getMaterialspecification();
 System.out.println("6.materialspecification"+materialspecification);
 //7.date
 try
 {
 date=materialrequistionform.getDate();
 dateFormat = new SimpleDateFormat("dd/MM/yyyy");
 Date tempDate = dateFormat.parse(date);
 
 cal = new GregorianCalendar();
 cal.setTime(tempDate);
 
 dateDB =
 new java.sql.Date( cal.getTime().getTime() );
 
 System.out.println("7.date"+dateDB);
 
 }catch(Exception e)
 {
 e.printStackTrace();
 }
 //8.materialsize
 materialsize=new Integer(materialrequistionform.getMaterialsize());
 System.out.println("8.materialsize"+materialsize);
 //9.materialremarks
 materialremarks=materialrequistionform.getMaterialremarks();
 System.out.println("9.materialremarks"+materialremarks);
 //10.code
 code=new Integer(materialrequistionform.getCode());
 System.out.println("10.code"+code);
 //11.approval
 approval=new Short(materialrequistionform.getApproval());
 System.out.println("11.approval"+approval);
 
 
 try {
 setUp();
 testCreateDomains();
 tearDown();
 } catch (Exception e) {
 e.printStackTrace();
 }
 
 
 return mapping.findForward("success");
 }
 private void testCreateDomains() {
 Transaction tx = session.beginTransaction();
 PrjDetails prjdetails=new PrjDetails(projectno,projectname);
 MaterialRequisiton materialrequisiton=new MaterialRequisiton();
 MaterialRequisitonId materialrequisitonid=new MaterialRequisitonId(new Integer(0),prjdetails);
 materialrequisiton.setId(materialrequisitonid);
 prjdetails.setPrjNo(projectno);
 prjdetails.setPrjName(projectname);
 materialrequisiton.setMrItemDescription(desc) ;
 materialrequisiton.setMrItemSpec(materialspecification);
 materialrequisiton.setMrItemSize(materialsize);
 materialrequisiton.setMrItemQuantity(materialquantity);
 materialrequisiton.setMrItemCode(code);
 materialrequisiton.setMrItemRequired(dateDB);
 materialrequisiton.setMrItemPlace(materialrequiredplace);
 materialrequisiton.setMrApproval(approval);
 materialrequisiton.setMrRemarks(materialremarks);
 session.save(prjdetails);
 session.save(materialrequisiton);
 System.out.println(session);
 
 tx.commit();
 }
 
 protected void setUp() throws Exception {
 session = HibernateSessionFactory.getSession();
 log = Logger.getLogger(this.getClass());
 }
 
 protected void tearDown() throws Exception {
 HibernateSessionFactory.closeSession();
 }
 
 public Session getSession() {
 return session;
 }
 
 /**
 * @param session
 *            The session to set.
 */
 public void setSession(Session session) {
 this.session = session;
 }
 
 }
 
 
 |