Hi,
Can somebody help me with the
Bidirectional relationship.
I have made this small example which I
need to use
I am using cascading update. But I think
I am missing something. The kittens are not getting added.
I am trying this with hypersonic database
which then would be changed to Microsoft SQL Server.
An early help would be highly
appreciated.
regards
prasad chandrasekaran
Following is my mapping file
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping> <!-- Cat Mapping --> <class name="org.presci.Cat" table="cat"> <id name="id"> <generator class="identity"/> </id> <property name="name"/> <bag name="kitten" inverse="true" cascade="all"> <key column="cat_id"/> <one-to-many class="org.presci.Kitten"/> </bag> <property name="age"/> </class> <!-- Kitten Mapping --> <class name="org.presci.Kitten" table="kitten"> <id name="id"> <generator class="identity"/> </id> <many-to-one name="cat" cascade="all" column="cat_id"/> </class></hibernate-mapping>
___________________________________________________ // This is my CatImpl.java file package org.presci;import java.util.ArrayList;import net.sf.hibernate.Session;import net.sf.hibernate.SessionFactory;import net.sf.hibernate.Transaction;import net.sf.hibernate.cfg.Configuration;import net.sf.hibernate.tool.hbm2ddl.SchemaExport;/** * @File CatImpl.java * @Created Aug 25, 2003 1:56:17 PM * @author prasadi * * @Project : HibTapestry * @Package : org.presci * */public class CatImpl { private static SessionFactory sessionfactory; static { Configuration cfg = new Configuration(); try { cfg.addFile("org/presci/default.hbm.xml"); sessionfactory = cfg.buildSessionFactory(); } catch (Exception ex) { ex.printStackTrace(); } } public void add() { Session session = null; Transaction tx = null; ArrayList lst = new ArrayList(); lst.add(new Kitten("kitten 1")); lst.add(new Kitten("kitten 2")); lst.add(new Kitten("kitten 3")); lst.add(new Kitten("kitten 4")); lst.add(new Kitten("kitten 5")); lst.add(new Kitten("kitten 6")); try { session = sessionfactory.openSession(); tx = session.beginTransaction(); Cat cat = new Cat("Scarlet", lst, 3); session.save(cat); tx.commit(); } catch (Exception ex) { try { tx.rollback(); } catch (Exception iex) { iex.printStackTrace(); } ex.printStackTrace(); } finally { try { if (session != null) session.close(); } catch (Exception ex) { ex.printStackTrace(); } } } public static void main(String arg[]) { new CatImpl().add(); System.exit(0); }} |