Beginner |
|
Joined: Thu Jul 13, 2006 10:39 am Posts: 23
|
I have a problem while using Hibernate bi-directional relationship.
My hbm file look like this:
-------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="hibernate">
<class name="Submissions" table="submission">
<id name="submissionId" type="string" unsaved-value="null" >
<column name="submission_id" sql-type="raw(16)" not-null="true"/>
</id>
<property name="submissionNo">
<column name="submission_no" sql-type="VARCHAR2(5)" not-null="true"/>
</property>
<property name="createdTs">
<column name="created_ts" sql-type="Date" not-null="true"/>
</property>
<property name="lastModifiedTs">
<column name="last_modified_ts" sql-type="Date" not-null="true"/>
</property>
...... ....... ........ ...... ...
<many-to-one name="application" insert="false" update="false" class="Application" column="application_id" />
</class>
</hibernate-mapping >
Application.hbm file
---------------------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="hibernate">
<class name="Application" table="application">
<id name="appId" type="string" unsaved-value="null" >
<column name="application_id" sql-type="raw(16)" not-null="true"/>
</id>
<property name="appName">
<column name="application_name" sql-type="varchar2(100)" not-null="true"/>
</property>
<property name="appFolderName">
<column name="application_folder_name" sql-type="varchar2(2000)" not-null="true"/>
</property>
........ ...... ....... ....... .....
<set name="submissions" inverse="true" cascade="all-delete-orphan">
<key column="application_id"/>
<one-to-many class="Submissions"/>
</set>
</class>
------------------------------------------------------------------------------------------------------------
The problem I nedd to insert a record only into submission table using Hibernate.
My sample code looks like this:
SessionFactory sessionFactory=HibernateFactory.buildsessionFactory();
Session session= sessionFactory.openSession();
Transaction tx=HibernateFactory.begintransaction(session);
Submissions oSub=new Submissions();
// How will I set application id in Submission which has many-to-one relationship to application table
oSub.setSubmissionNo("0005");
oSub.setCreatedTs(new java.util.Date());
oSub.setLastModifiedTs(new Date());
session.saveOrUpdate(oSub);
HibernateFactory.commitTransaction(tx);
System.out.println("Done");
HibernateFactory.close(session);
How will I set application Id to submission table?
Anyone can solve the issue and send me the revised code asap.
Please do favour with me
Thanks and regards,
Sreekanth
|
|