2 * Hibernate, Relational Persistence for Idiomatic Java
4 * Copyright (c) 2010, Red Hat Inc. or third-party contributors as
5 * indicated by the @author tags or express copyright attribution
6 * statements applied by the authors. All third-party contributions are
7 * distributed under license by Red Hat Inc.
9 * This copyrighted material is made available to anyone wishing to use, modify,
10 * copy, or redistribute it subject to the terms and conditions of the GNU
11 * Lesser General Public License, as published by the Free Software Foundation.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this distribution; if not, write to:
20 * Free Software Foundation, Inc.
21 * 51 Franklin Street, Fifth Floor
22 * Boston, MA 02110-1301 USA
24 package org.hibernate.tutorial.em;
26 import java.util.Date;
27 import java.util.List;
28 import javax.persistence.EntityManager;
29 import javax.persistence.EntityManagerFactory;
30 import javax.persistence.Persistence;
32 import junit.framework.TestCase;
35 * Illustrates basic use of Hibernate as a JPA provider.
37 * @author Steve Ebersole
39 public class EntityManagerIllustrationTest extends TestCase {
40 private EntityManagerFactory entityManagerFactory;
43 protected void setUp() throws Exception {
44 // like discussed with regards to SessionFactory, an EntityManagerFactory is set up once for an application
45 // IMPORTANT: notice how the name here matches the name we gave the persistence-unit in persistence.xml!
46 entityManagerFactory = Persistence.createEntityManagerFactory( "org.hibernate.tutorial.jpa" );
50 protected void tearDown() throws Exception {
51 entityManagerFactory.close();
54 public void testBasicUsage() {
55 // create a couple of events...
56 EntityManager entityManager = entityManagerFactory.createEntityManager();
57 entityManager.getTransaction().begin();
58 entityManager.persist( new Event( "Our very first event!", new Date() ) );
59 entityManager.persist( new Event( "A follow up event", new Date() ) );
60 entityManager.getTransaction().commit();
61 entityManager.close();
63 // now lets pull events from the database and list them
64 entityManager = entityManagerFactory.createEntityManager();
65 entityManager.getTransaction().begin();
66 List<Event> result = entityManager.createQuery( "from Event", Event.class ).getResultList();
67 for ( Event event : result ) {
68 System.out.println( "Event (" + event.getDate() + ") : " + event.getTitle() );
70 entityManager.getTransaction().commit();
71 entityManager.close();