私はOpenJPAが初めてです。OpenJPA と Oracle でサンプル プログラムを作成しようとすると、EntityManager の作成中に NullPointerException が発生します。
サンプルプログラムは
    public static void main(String[] args) {
        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("testjpa");
        EntityManager em = entityManagerFactory.createEntityManager();
        EntityTransaction userTransaction = em.getTransaction();
        userTransaction.begin();
        Customer customer = new Customer();
        customer.setFirstName("Charles");
        customer.setLastName("Dickens");
        customer.setCustType("RETAIL");
        customer.setStreet("10 Downing Street");
        customer.setAppt("1");
        customer.setCity("NewYork");
        customer.setZipCode("12345");
        em.persist(customer);
        userTransaction.commit();
        em.close();
        entityManagerFactory.close();
}
persistence.xml は
<persistence-unit name="testjpa">
    <provider>
        org.apache.openjpa.persistence.PersistenceProviderImpl
    </provider>
    <class>sample.jpa.entity.Customer</class>
    <properties>
        <property name="openjpa.jdbc.DBDictionary" value="oracle(DriverVendor=oracle)" />
        <property name="openjpa.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:xe" />
        <property name="openjpa.ConnectionDriverName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="openjpa.ConnectionUserName" value="xxxxx" />
        <property name="openjpa.ConnectionPassword" value="xxxxx" />
        <property name="openjpa.Log" value="SQL=TRACE" />
    </properties>
</persistence-unit>
スタックトレースは
Exception in thread "main" java.lang.NullPointerException
at sample.jpa.main.TestJPA.main(TestJPA.java:16)
これはで起こっています
EntityManager em = entityManagerFactory.createEntityManager();
誰でもこれを解決するのを手伝ってもらえますか?