KickJava   Java API By Example, From Geeks To Geeks.

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


1 //$Id: ComponentTest.java,v 1.10 2005/04/27 03:17:21 oneovthafew Exp $
2
package org.hibernate.test.component;
3
4 import java.util.Date JavaDoc;
5
6 import junit.framework.Test;
7 import junit.framework.TestSuite;
8
9 import org.hibernate.Session;
10 import org.hibernate.Transaction;
11 import org.hibernate.criterion.Property;
12 import org.hibernate.dialect.HSQLDialect;
13 import org.hibernate.dialect.Oracle9Dialect;
14 import org.hibernate.dialect.PostgreSQLDialect;
15 import org.hibernate.test.TestCase;
16
17 /**
18  * @author Gavin King
19  */

20 public class ComponentTest extends TestCase {
21     
22     public ComponentTest(String JavaDoc str) {
23         super(str);
24     }
25     
26     public void testComponent() {
27         
28         if ( getDialect() instanceof PostgreSQLDialect ) return; //postgres got no year() function
29
if ( getDialect() instanceof Oracle9Dialect ) return; //oracle got no year() function
30

31         Session s = openSession();
32         Transaction t = s.beginTransaction();
33         User u = new User( "gavin", "secret", new Person("Gavin King", new Date JavaDoc(), "Karbarook Ave") );
34         s.persist(u);
35         s.flush();
36         u.getPerson().changeAddress("Phipps Place");
37         t.commit();
38         s.close();
39         
40         s = openSession();
41         t = s.beginTransaction();
42         u = (User) s.get(User.class, "gavin");
43         assertEquals( u.getPerson().getAddress(), "Phipps Place" );
44         assertEquals( u.getPerson().getPreviousAddress(), "Karbarook Ave" );
45         assertEquals( u.getPerson().getYob(), u.getPerson().getDob().getYear()+1900 );
46         u.setPassword("$ecret");
47         t.commit();
48         s.close();
49
50         s = openSession();
51         t = s.beginTransaction();
52         u = (User) s.get(User.class, "gavin");
53         assertEquals( u.getPerson().getAddress(), "Phipps Place" );
54         assertEquals( u.getPerson().getPreviousAddress(), "Karbarook Ave" );
55         assertEquals( u.getPassword(), "$ecret" );
56         s.delete(u);
57         t.commit();
58         s.close();
59     }
60     
61     public void testComponentFormulaQuery() {
62         
63         if ( getDialect() instanceof PostgreSQLDialect ) return; //postgres got no year() function
64
if ( getDialect() instanceof Oracle9Dialect ) return; //oracle got no year() function
65

66         Session s = openSession();
67         Transaction t = s.beginTransaction();
68         s.createQuery("from User u where u.person.yob = 1999").list();
69         s.createCriteria(User.class)
70             .add( Property.forName("person.yob").between( new Integer JavaDoc(1999), new Integer JavaDoc(2002) ) )
71             .list();
72         if ( ! (getDialect() instanceof HSQLDialect) ) {
73             s.createQuery("from User u where u.person = ('gavin', :dob, 'Peachtree Rd', 'Karbarook Ave', 1974, 'Peachtree Rd')")
74                 .setDate("dob", new Date JavaDoc("March 25, 1974")).list();
75             s.createQuery("from User where person = ('gavin', :dob, 'Peachtree Rd', 'Karbarook Ave', 1974, 'Peachtree Rd')")
76                 .setDate("dob", new Date JavaDoc("March 25, 1974")).list();
77         }
78         t.commit();
79         s.close();
80     }
81     
82     public void testNamedQuery() {
83         if ( getDialect() instanceof PostgreSQLDialect ) return; //postgres got no year() function
84
if ( getDialect() instanceof Oracle9Dialect ) return; //oracle got no year() function
85

86         Session s = openSession();
87         Transaction t = s.beginTransaction();
88         s.getNamedQuery("userNameIn")
89             .setParameterList( "nameList", new Object JavaDoc[] {"1ovthafew", "turin", "xam"} )
90             .list();
91         t.commit();
92         s.close();
93     }
94     
95     protected String JavaDoc[] getMappings() {
96         return new String JavaDoc[] { "component/User.hbm.xml" };
97     }
98
99     public static Test suite() {
100         return new TestSuite(ComponentTest.class);
101     }
102
103 }
104
105
Popular Tags