Source code: org/hibernate/test/idclass/IdClassTest.java
1 //$Id: IdClassTest.java 7858 2005-08-11 21:46:58Z epbernard $
2 package org.hibernate.test.idclass;
3
4 import junit.framework.Test;
5 import junit.framework.TestSuite;
6
7 import org.hibernate.Session;
8 import org.hibernate.Transaction;
9 import org.hibernate.test.TestCase;
10 import org.hibernate.type.Type;
11
12 /**
13 * @author Gavin King
14 */
15 public class IdClassTest extends TestCase {
16
17 public IdClassTest(String str) {
18 super(str);
19 }
20
21 public void testIdClass() {
22 Type type = getSessions().getClassMetadata(Customer.class).getIdentifierType();
23 Type[] types = getSessions().getClassMetadata(Customer.class).getPropertyTypes();
24 Session s = openSession();
25 Transaction t = s.beginTransaction();
26 Customer cust = new FavoriteCustomer("JBoss", "RouteOne", "Detroit");
27 s.persist(cust);
28 t.commit();
29 s.close();
30
31 s = openSession();
32 CustomerId custId = new CustomerId("JBoss", "RouteOne");
33 t = s.beginTransaction();
34 cust = (Customer) s.get(Customer.class, custId);
35 assertEquals( "Detroit", cust.getAddress() );
36 assertEquals( cust.getCustomerName(), custId.getCustomerName() );
37 assertEquals( cust.getOrgName(), custId.getOrgName() );
38 t.commit();
39 s.close();
40
41 s = openSession();
42 t = s.beginTransaction();
43 cust = (Customer) s.createQuery("from Customer where id.customerName = 'RouteOne'").uniqueResult();
44 assertEquals( "Detroit", cust.getAddress() );
45 assertEquals( cust.getCustomerName(), custId.getCustomerName() );
46 assertEquals( cust.getOrgName(), custId.getOrgName() );
47 t.commit();
48 s.close();
49
50 s = openSession();
51 t = s.beginTransaction();
52 cust = (Customer) s.createQuery("from Customer where customerName = 'RouteOne'").uniqueResult();
53 assertEquals( "Detroit", cust.getAddress() );
54 assertEquals( cust.getCustomerName(), custId.getCustomerName() );
55 assertEquals( cust.getOrgName(), custId.getOrgName() );
56 t.commit();
57 s.close();
58 }
59
60 protected String[] getMappings() {
61 return new String[] { "idclass/Customer.hbm.xml" };
62 }
63
64 public static Test suite() {
65 return new TestSuite(IdClassTest.class);
66 }
67
68 }
69