KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hibernate > test > component > DynamicComponentTest


1 package org.hibernate.test.component;
2
3 import java.util.HashMap JavaDoc;
4 import java.util.List JavaDoc;
5
6 import org.hibernate.classic.Session;
7 import org.hibernate.test.TestCase;
8
9 public class DynamicComponentTest extends TestCase {
10
11     public DynamicComponentTest(String JavaDoc x) {
12         super(x);
13     }
14
15     public void testQuery() throws Exception JavaDoc {
16         Session session = openSession();
17         
18         A a = new A(1);
19         a.setDynComp(new HashMap JavaDoc());
20         a.getDynComp().put("a", "a-a");
21         session.save(a);
22         
23         B b = new B(2);
24         b.setDynComp(new HashMap JavaDoc());
25         b.getDynComp().put("a", "b-a");
26         b.getDynComp().put("b", "b-b");
27         session.save(b);
28         
29         C c = new C(3);
30         c.setDynComp(new HashMap JavaDoc());
31         c.getDynComp().put("a", "c-a");
32         c.getDynComp().put("b", "c-b");
33         c.getDynComp().put("c", "c-c");
34         session.save(c);
35         
36         session.flush();
37         
38         List JavaDoc list = session.createQuery("from A a where a.dynComp.a = ?")
39             .setParameter(0, "a-a")
40             .list();
41         
42         assertEquals(1, list.size());
43         assertTrue(a.equals(list.get(0)));
44         
45         list = session.createQuery("from B b where b.dynComp.b = ?")
46             .setParameter(0, "b-b")
47             .list();
48
49         assertEquals(1, list.size());
50         assertTrue(b.equals(list.get(0)));
51         
52         list = session.createQuery("from B b where b.dynComp.a = ?")
53             .setParameter(0, "b-a")
54             .list();
55
56         assertEquals(1, list.size());
57         assertTrue(b.equals(list.get(0)));
58         
59         list = session.createQuery("from C c where c.dynComp.c = ?")
60             .setParameter(0, "c-c")
61             .list();
62         
63         list = session.createQuery("from C c where c.dynComp.b = ?")
64             .setParameter(0, "c-b")
65             .list();
66         
67         list = session.createQuery("from C c where c.dynComp.a = ?")
68             .setParameter(0, "c-a")
69             .list();
70         
71         assertEquals(1, list.size());
72         assertTrue(c.equals(list.get(0)));
73         
74         session.delete(c);
75         session.delete(b);
76         session.delete(a);
77         session.close();
78     }
79     
80     protected String JavaDoc[] getMappings() {
81         return new String JavaDoc[] { "component/ABC.hbm.xml" };
82     }
83
84 }
85
Popular Tags