/* Listing4720.java */

import javax.persistence.*;

public class Listing4720
{
  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();

    //Referenzieren der benannten Anfrage mit dem Parameter :name
    Query query = manager.createNamedQuery("DIRECTORY_BY_NAME"); 

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

    //Auslesen eines einzelnen Ergebnisses
    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();
  }
}