KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hibernate > test > joineduid > PropertyRefTest


1 //$Id: PropertyRefTest.java,v 1.2 2005/06/22 18:58:15 oneovthafew Exp $
2
package org.hibernate.test.joineduid;
3
4 import junit.framework.Test;
5 import junit.framework.TestSuite;
6
7 import org.hibernate.FetchMode;
8 import org.hibernate.Hibernate;
9 import org.hibernate.Session;
10 import org.hibernate.Transaction;
11 import org.hibernate.test.TestCase;
12
13 /**
14  * @author Gavin King
15  */

16 public class PropertyRefTest extends TestCase {
17     
18     public PropertyRefTest(String JavaDoc str) {
19         super(str);
20     }
21     
22     public void testPropertyRefToJoinedSubclass() {
23         Session session = openSession();
24         Transaction tx = session.beginTransaction();
25         Person p = new Person();
26         p.setName("Gavin King");
27         BankAccount acc = new BankAccount();
28         acc.setBsb("0634");
29         acc.setType('B');
30         acc.setAccountNumber("xxx-123-abc");
31         p.setBankAccount(acc);
32         session.persist(p);
33         tx.commit();
34         session.close();
35
36         session = openSession();
37         tx = session.beginTransaction();
38         p = (Person) session.get(Person.class, p.getId());
39         assertNotNull( p.getBankAccount() );
40         assertTrue( Hibernate.isInitialized( p.getBankAccount() ) );
41         tx.commit();
42         session.close();
43
44         session = openSession();
45         tx = session.beginTransaction();
46         p = (Person) session.createCriteria(Person.class)
47             .setFetchMode("bankAccount", FetchMode.JOIN)
48             .uniqueResult();
49         assertNotNull( p.getBankAccount() );
50         assertTrue( Hibernate.isInitialized( p.getBankAccount() ) );
51         tx.commit();
52         session.close();
53
54         session = openSession();
55         tx = session.beginTransaction();
56         session.delete(p);
57         tx.commit();
58         session.close();
59     }
60     
61     protected String JavaDoc[] getMappings() {
62         return new String JavaDoc[] { "joineduid/Person.hbm.xml" };
63     }
64
65     public static Test suite() {
66         return new TestSuite(PropertyRefTest.class);
67     }
68
69 }
70
71
Popular Tags