Google App Engine JPA persist()方法没有填充我的对象的ID

时间:2011-01-04 21:52:34

标签: google-app-engine jpa persist

我正在尝试持久化一个具有自动生成的Id的新Java对象,但是在调用EntityManager的persist()方法时它没有被填充。我有我的对象类..

...
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;
...

我基本上坚持使用......

emf = Persistence.createEntityManagerFactory("transactions-optional");
em = emf.createEntityManager();
em.persist(myObj);

持久化后,不会填充id字段。我试过调用em.flush()但它抱怨它必须在一个事务中。我不需要或不想要交易,但在持久化对象后我确实需要这个ID。

这是GAE实施JPA的错误吗?

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:2)

我可以确认调用em.refresh(object)将填充持久化对象的id。