/* Listing4718.java */

import javax.persistence.*;

public class Listing4718
{
  public static void main(String[] args)
  {
    //Erzeugen einer EntityManagerFactory mit Hilfe des symbolischen
    //Namens aus dem Persistenz Descriptor (persistence.xml)
    EntityManagerFactory emf =
      Persistence.createEntityManagerFactory("persistenceExample");

    //Erzeugen eines EntityManagers für den Zugriff auf
    //die Datenbank
    EntityManager manager = emf.createEntityManager();

    //Beginn einer neuen Transanktion
    EntityTransaction tx = manager.getTransaction();
    tx.begin();

    //Erzeugen einer Anfrage mit dem Parameter :name
    Query query = manager.createQuery(                           
      "select d from Verzeichnis d where d.name = :name"
    );

    //Setzen des Parameters
    query.setParameter("name", "temp");                        

    //Auslesen eines einzelnen Ergenisses
    Verzeichnis directory = (Verzeichnis) query.getSingleResult(); 
    System.out.println(directory.toString());

    //Abschluss der Transaktion mit einem Commit
    tx.commit();

    //Freigabe der Ressourcen des EntityManagers
    manager.close();

    //Schließen der EntityManagerFactory und Freigeben der
    //belegten Ressourcen
    emf.close();    
  }
}