0

私は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();

誰でもこれを解決するのを手伝ってもらえますか?

4

1 に答える 1

0

Eelke がすでに言ったように、正確なスタック トレースを投稿する必要があります。スタックなしでこれをデバッグする機会はありません。

また、コード スニペットの "Persistence" の後ろにある彼の空白が単なるタイプミスであることを願っています。

EntityManagerFactory entityManagerFactory = Persistence .createEntityManagerFactory("testjpa");

セバスチャン

于 2012-09-30T15:16:19.847 に答える