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);

 

}

 

}

Reply via email to