X-Git-Url: http://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=blobdiff_plain;f=src%2Fit%2Ftutorials-5.2.18%2Fbasic%2Fsrc%2Ftest%2Fjava%2Forg%2Fhibernate%2Ftutorial%2Fhbm%2FNativeApiIllustrationTest.java;fp=src%2Fit%2Ftutorials-5.2.18%2Fbasic%2Fsrc%2Ftest%2Fjava%2Forg%2Fhibernate%2Ftutorial%2Fhbm%2FNativeApiIllustrationTest.java;h=8ee5d08458f131312b8ce399a2a74a2e7c6c6f70;hp=0000000000000000000000000000000000000000;hb=0b6b9a1bd8950880713885618d8e31c772a085ec;hpb=9e37fd1049f8a6794396cd7c8879dc413fbcb87c diff --git a/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java b/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java new file mode 100644 index 00000000..8ee5d084 --- /dev/null +++ b/src/it/tutorials-5.2.18/basic/src/test/java/org/hibernate/tutorial/hbm/NativeApiIllustrationTest.java @@ -0,0 +1,88 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2010, Red Hat Inc. or third-party contributors as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Inc. + * + * This copyrighted material is made available to anyone wishing to use, modify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.tutorial.hbm; + +import java.util.Date; +import java.util.List; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.boot.MetadataSources; +import org.hibernate.boot.registry.StandardServiceRegistry; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; + +import junit.framework.TestCase; + +/** + * Illustrates use of Hibernate native APIs. + * + * @author Steve Ebersole + */ +public class NativeApiIllustrationTest extends TestCase { + private SessionFactory sessionFactory; + + @Override + protected void setUp() throws Exception { + // A SessionFactory is set up once for an application! + final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() + .configure() // configures settings from hibernate.cfg.xml + .build(); + try { + sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); + } + catch (Exception e) { + // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory + // so destroy it manually. + StandardServiceRegistryBuilder.destroy( registry ); + } + } + + @Override + protected void tearDown() throws Exception { + if ( sessionFactory != null ) { + sessionFactory.close(); + } + } + + @SuppressWarnings("unchecked") + public void testBasicUsage() { + // create a couple of events... + Session session = sessionFactory.openSession(); + session.beginTransaction(); + session.save( new Event( "Our very first event!", new Date() ) ); + session.save( new Event( "A follow up event", new Date() ) ); + session.getTransaction().commit(); + session.close(); + + // now lets pull events from the database and list them + session = sessionFactory.openSession(); + session.beginTransaction(); + List result = session.createQuery( "from Event" ).list(); + for ( Event event : (List) result ) { + System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() ); + } + session.getTransaction().commit(); + session.close(); + } +}