В Google App Engine метод persist () не заполняет идентификатор моего объекта - PullRequest
1 голос
/ 05 января 2011

Я пытаюсь сохранить новый Java-объект с автоматически сгенерированным идентификатором, но он не заполняется при вызове метода persistManager persist (). Я имею в своем классе объектов ..

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

и я сохраняю это по существу, используя ...

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

После его сохранения поле id не заполняется. Я пытался вызвать em.flush (), но он жалуется, что он должен быть внутри транзакции. Мне не нужны или не нужны транзакции, но мне нужен этот Id сразу после сохранения объекта.

Это ошибка в реализации JPA в GAE?

Любые предложения будут высоко оценены!

1 Ответ

2 голосов
/ 08 января 2011

Я могу подтвердить, что вызов em.refresh (object) заполнит идентификатор сохраняемого объекта

...