Methods Summary |
---|
private void | addObject2()loads the newly created MainObject
and adds a new Object2 to it
one hibernate transaction
Session session = openSession();
Transaction tx = session.beginTransaction();
MainObject mo =
( MainObject ) session.load( MainObject.class, generatedId );
Object2 toAdd = new Object2();
toAdd.setDummy( "test" );
//toAdd should now be saved by cascade
mo.setObj2( toAdd );
tx.commit();
session.close();
|
private void | createMainObject()creates a new MainObject
one hibernate transaction !
Session session = openSession();
Transaction tx = session.beginTransaction();
MainObject mo = new MainObject();
mo.setDescription( "Main Test" );
generatedId = session.save( mo );
tx.commit();
session.close();
|
public java.lang.String[] | getMappings()
return new String[] { "legacy/Object2.hbm.xml", "legacy/MainObject.hbm.xml" };
|
private MainObject | readMainObject()reads the newly created MainObject
and its Object2 if it exists
one hibernate transaction
Long returnId = null;
Session session = openSession();
Transaction tx = session.beginTransaction();
Serializable id = generatedId;
MainObject mo = ( MainObject ) session.load( MainObject.class, id );
tx.commit();
session.close();
return mo;
|
public static junit.framework.Test | suite()
return new FunctionalTestClassTestSuite( OneToOneCacheTest.class );
|
public void | testOneToOneCache()
//create a new MainObject
createMainObject();
// load the MainObject
readMainObject();
//create and add Ojbect2
addObject2();
//here the newly created Object2 is written to the database
//but the MainObject does not know it yet
MainObject mainObject = readMainObject();
assertNotNull( mainObject.getObj2() );
// after evicting, it works.
getSessions().evict( MainObject.class );
mainObject = readMainObject();
assertNotNull( mainObject.getObj2() );
|