FileDocCategorySizeDatePackage
QueryTest.javaAPI DocExample2292Mon Mar 01 20:39:12 GMT 2004com.oreilly.hh

QueryTest

public class QueryTest extends Object
Retrieve data as objects

Fields Summary
Constructors Summary
Methods Summary
public static voidmain(java.lang.String[] args)
Look up and print some tracks when invoked from the command line.

        // Create a configuration based on the properties file we've put
        // in the standard place.
        Configuration config = new Configuration();

        // Tell it about the classes we want mapped, taking advantage of
        // the way we've named their mapping documents.
        config.addClass(Track.class);

        // Get the session factory we can use for persistence
        SessionFactory sessionFactory = config.buildSessionFactory();

        // Ask for a session using the JDBC information we've configured
        Session session = sessionFactory.openSession();
        try {
            // Print the tracks that will fit in five minutes
            List tracks = tracksNoLongerThan(Time.valueOf("00:05:00"),
                                             session);
            for (ListIterator iter = tracks.listIterator() ;
                 iter.hasNext() ; ) {
                Track aTrack = (Track)iter.next();
                System.out.println("Track: \"" + aTrack.getTitle() +
                                   "\", " + aTrack.getPlayTime());
            }
        } finally {
            // No matter what, close the session
            session.close();
        }

        // Clean up after ourselves
        sessionFactory.close();
    
public static java.util.ListtracksNoLongerThan(java.sql.Time length, Session session)
Retrieve any tracks that fit in the specified amount of time.

param
length the maximum playing time for tracks to be returned.
param
session the Hibernate session that can retrieve data.
return
a list of {@link Track}s meeting the length restriction.
throws
HibernateException if there is a problem.

        Query query = session.getNamedQuery(
                          "com.oreilly.hh.tracksNoLongerThan");
        query.setTime("length", length);
        return query.list();