0

JPAを使用してGoogle App Engineデータストアにデータを保存しようとしましたが、いくつか問題があります。

私のコード:

try {
        for (int i = 1; i <= 10; i++) {
            Employee emp = new Employee();

            emp.setFirstName("John" + i);
            emp.setLastName("Doe" + i);
            emp.setAge(i);

            em.persist(emp);
            em.refresh(emp);
        }

        em.flush();

    } catch (Exception e) {

        e.printStackTrace();
    } finally {
        em.close();
    }

起動すると、データは保存されますが、2 つのエラーが発生します。

javax.persistence.TransactionRequiredException: この操作にはトランザクションが必要ですが、アクティブではありません -> 行 em.flush();

java.lang.NullPointerException at org.datanucleus.ObjectManagerImpl.flushInternalWithOrdering(ObjectManagerImpl.java:3887) -> line em.close();

誰もそれらを修正する方法を知っていますか?

ありがとう。

4

1 に答える 1

0

試す:

em.getTransaction().begin();
//do all your persist logic
em.getTransaction().commit();

詳細: https://developers.google.com/appengine/docs/java/datastore/transactions

于 2013-03-05T22:24:00.510 に答える